[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-vercel-next-cache-components":3,"mdc-cvxb83-key":34,"related-repo-vercel-next-cache-components":6311,"related-org-vercel-next-cache-components":6421},{"slug":4,"name":4,"fn":5,"description":6,"org":7,"tags":11,"stars":23,"repoUrl":24,"updatedAt":25,"license":26,"forks":27,"topics":28,"repo":29,"sourceUrl":32,"mdContent":33},"next-cache-components","implement Next.js 16 caching strategies","Next.js 16 Cache Components guidance — PPR, use cache directive, cacheLife, cacheTag, updateTag, and migration from unstable_cache. Use when implementing partial prerendering, caching strategies, or migrating from older Next.js cache patterns.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},"vercel","Vercel","https:\u002F\u002Fpexgzepcugksgbtrxkhf.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Forg-logos\u002Fvercel.png",[12,16,17,20],{"name":13,"slug":14,"type":15},"Performance","performance","tag",{"name":9,"slug":8,"type":15},{"name":18,"slug":19,"type":15},"Next.js","next-js",{"name":21,"slug":22,"type":15},"Caching","caching",226,"https:\u002F\u002Fgithub.com\u002Fvercel\u002Fvercel-plugin","2026-04-06T18:56:15.790607",null,36,[],{"repoUrl":24,"stars":23,"forks":27,"topics":30,"description":31},[],"Comprehensive Vercel ecosystem plugin — relational knowledge graph, skills for every major product, specialized agents, and Vercel conventions. Turns any AI agent into a Vercel expert.","https:\u002F\u002Fgithub.com\u002Fvercel\u002Fvercel-plugin\u002Ftree\u002FHEAD\u002Fskills\u002Fnext-cache-components","---\nname: next-cache-components\ndescription: Next.js 16 Cache Components guidance — PPR, use cache directive, cacheLife, cacheTag, updateTag, and migration from unstable_cache. Use when implementing partial prerendering, caching strategies, or migrating from older Next.js cache patterns.\nmetadata:\n  priority: 6\n  docs:\n    - \"https:\u002F\u002Fnextjs.org\u002Fdocs\u002Fapp\u002Fgetting-started\u002Fcache-components\"\n    - \"https:\u002F\u002Fnextjs.org\u002Fdocs\u002Fapp\u002Fapi-reference\u002Fdirectives\u002Fuse-cache\"\n  pathPatterns:\n    - 'next.config.*'\n    - 'app\u002F**'\n    - 'src\u002Fapp\u002F**'\n    - 'apps\u002F*\u002Fapp\u002F**'\n    - 'apps\u002F*\u002Fsrc\u002Fapp\u002F**'\n  importPatterns:\n    - \"next\u002Fcache\"\n  bashPatterns:\n    - '\\bnext\\s+(dev|build)\\b'\n  promptSignals:\n    phrases:\n      - \"use cache\"\n      - \"cache components\"\n      - \"partial prerendering\"\n      - \"PPR\"\n      - \"cacheLife\"\n      - \"cacheTag\"\n      - \"updateTag\"\n      - \"unstable_cache\"\n    allOf:\n      - [cache, component]\n      - [cache, directive]\n      - [partial, prerender]\n    anyOf:\n      - \"revalidateTag\"\n      - \"stale\"\n      - \"revalidate\"\n      - \"cache profile\"\n    noneOf: []\n    minScore: 6\n  validate:\n    -\n      pattern: 'unstable_cache\\s*\\('\n      message: 'unstable_cache is deprecated in Next.js 16 — use the \"use cache\" directive with cacheTag() and cacheLife() instead'\n      severity: recommended\n      upgradeToSkill: next-cache-components\n      upgradeWhy: 'Guides migration from unstable_cache to use cache directive with cacheTag and cacheLife.'\n    -\n      pattern: '\\bcacheHandler\\s*:'\n      message: 'Singular cacheHandler is deprecated in Next.js 16 — use cacheHandlers (plural) with per-type handlers'\n      severity: recommended\n    -\n      pattern: revalidateTag\\(\\s*['\"][^'\"]+['\"]\\s*\\)\n      message: 'Single-arg revalidateTag(tag) is deprecated in Next.js 16 — pass a cacheLife profile: revalidateTag(tag, \"max\")'\n      severity: recommended\nretrieval:\n  aliases:\n    - cache components\n    - partial prerendering\n    - PPR\n    - use cache\n  intents:\n    - enable partial prerendering in Next.js\n    - cache async data with use cache directive\n    - invalidate cache with cacheTag\n    - migrate from unstable_cache\n  entities:\n    - use cache\n    - cacheLife\n    - cacheTag\n    - updateTag\n    - revalidateTag\n    - PPR\nchainTo:\n  -\n    pattern: 'use cache'\n    targetSkill: nextjs\n    message: 'Cache component detected — loading Next.js best practices for RSC boundaries and data patterns alongside caching.'\n    skipIfFileContains: 'next-best-practices'\n\n---\n\n# Cache Components (Next.js 16+)\n\nCache Components enable Partial Prerendering (PPR) - mix static, cached, and dynamic content in a single route.\n\n## Enable Cache Components\n\n```ts\n\u002F\u002F next.config.ts\nimport type { NextConfig } from 'next'\n\nconst nextConfig: NextConfig = {\n  cacheComponents: true,\n}\n\nexport default nextConfig\n```\n\nThis replaces the old `experimental.ppr` flag.\n\n---\n\n## Three Content Types\n\nWith Cache Components enabled, content falls into three categories:\n\n### 1. Static (Auto-Prerendered)\n\nSynchronous code, imports, pure computations - prerendered at build time:\n\n```tsx\nexport default function Page() {\n  return (\n    \u003Cheader>\n      \u003Ch1>Our Blog\u003C\u002Fh1>  {\u002F* Static - instant *\u002F}\n      \u003Cnav>...\u003C\u002Fnav>\n    \u003C\u002Fheader>\n  )\n}\n```\n\n### 2. Cached (`use cache`)\n\nAsync data that doesn't need fresh fetches every request:\n\n```tsx\nasync function BlogPosts() {\n  'use cache'\n  cacheLife('hours')\n\n  const posts = await db.posts.findMany()\n  return \u003CPostList posts={posts} \u002F>\n}\n```\n\n### 3. Dynamic (Suspense)\n\nRuntime data that must be fresh - wrap in Suspense:\n\n```tsx\nimport { Suspense } from 'react'\n\nexport default function Page() {\n  return (\n    \u003C>\n      \u003CBlogPosts \u002F>  {\u002F* Cached *\u002F}\n\n      \u003CSuspense fallback={\u003Cp>Loading...\u003C\u002Fp>}>\n        \u003CUserPreferences \u002F>  {\u002F* Dynamic - streams in *\u002F}\n      \u003C\u002FSuspense>\n    \u003C\u002F>\n  )\n}\n\nasync function UserPreferences() {\n  const theme = (await cookies()).get('theme')?.value\n  return \u003Cp>Theme: {theme}\u003C\u002Fp>\n}\n```\n\n---\n\n## `use cache` Directive\n\n### File Level\n\n```tsx\n'use cache'\n\nexport default async function Page() {\n  \u002F\u002F Entire page is cached\n  const data = await fetchData()\n  return \u003Cdiv>{data}\u003C\u002Fdiv>\n}\n```\n\n### Component Level\n\n```tsx\nexport async function CachedComponent() {\n  'use cache'\n  const data = await fetchData()\n  return \u003Cdiv>{data}\u003C\u002Fdiv>\n}\n```\n\n### Function Level\n\n```tsx\nexport async function getData() {\n  'use cache'\n  return db.query('SELECT * FROM posts')\n}\n```\n\n---\n\n## Cache Profiles\n\n### Built-in Profiles\n\n```tsx\n'use cache'                    \u002F\u002F Default: 5m stale, 15m revalidate\n```\n\n```tsx\n'use cache: remote'           \u002F\u002F Platform-provided cache (Redis, KV)\n```\n\n```tsx\n'use cache: private'          \u002F\u002F For compliance, allows runtime APIs\n```\n\n### `cacheLife()` - Custom Lifetime\n\n```tsx\nimport { cacheLife } from 'next\u002Fcache'\n\nasync function getData() {\n  'use cache'\n  cacheLife('hours')  \u002F\u002F Built-in profile\n  return fetch('\u002Fapi\u002Fdata')\n}\n```\n\nBuilt-in profiles: `'default'`, `'minutes'`, `'hours'`, `'days'`, `'weeks'`, `'max'`\n\n### Inline Configuration\n\n```tsx\nasync function getData() {\n  'use cache'\n  cacheLife({\n    stale: 3600,      \u002F\u002F 1 hour - serve stale while revalidating\n    revalidate: 7200, \u002F\u002F 2 hours - background revalidation interval\n    expire: 86400,    \u002F\u002F 1 day - hard expiration\n  })\n  return fetch('\u002Fapi\u002Fdata')\n}\n```\n\n---\n\n## Cache Invalidation\n\n### `cacheTag()` - Tag Cached Content\n\n```tsx\nimport { cacheTag } from 'next\u002Fcache'\n\nasync function getProducts() {\n  'use cache'\n  cacheTag('products')\n  return db.products.findMany()\n}\n\nasync function getProduct(id: string) {\n  'use cache'\n  cacheTag('products', `product-${id}`)\n  return db.products.findUnique({ where: { id } })\n}\n```\n\n### `updateTag()` - Immediate Invalidation\n\nUse when you need the cache refreshed within the same request:\n\n```tsx\n'use server'\n\nimport { updateTag } from 'next\u002Fcache'\n\nexport async function updateProduct(id: string, data: FormData) {\n  await db.products.update({ where: { id }, data })\n  updateTag(`product-${id}`)  \u002F\u002F Immediate - same request sees fresh data\n}\n```\n\n### `revalidateTag()` - Background Revalidation\n\nUse for stale-while-revalidate behavior:\n\n```tsx\n'use server'\n\nimport { revalidateTag } from 'next\u002Fcache'\n\nexport async function createPost(data: FormData) {\n  await db.posts.create({ data })\n  revalidateTag('posts')  \u002F\u002F Background - next request sees fresh data\n}\n```\n\n---\n\n## Runtime Data Constraint\n\n**Cannot** access `cookies()`, `headers()`, or `searchParams` inside `use cache`.\n\n### Solution: Pass as Arguments\n\n```tsx\n\u002F\u002F Wrong - runtime API inside use cache\nasync function CachedProfile() {\n  'use cache'\n  const session = (await cookies()).get('session')?.value  \u002F\u002F Error!\n  return \u003Cdiv>{session}\u003C\u002Fdiv>\n}\n\n\u002F\u002F Correct - extract outside, pass as argument\nasync function ProfilePage() {\n  const session = (await cookies()).get('session')?.value\n  return \u003CCachedProfile sessionId={session} \u002F>\n}\n\nasync function CachedProfile({ sessionId }: { sessionId: string }) {\n  'use cache'\n  \u002F\u002F sessionId becomes part of cache key automatically\n  const data = await fetchUserData(sessionId)\n  return \u003Cdiv>{data.name}\u003C\u002Fdiv>\n}\n```\n\n### Exception: `use cache: private`\n\nFor compliance requirements when you can't refactor:\n\n```tsx\nasync function getData() {\n  'use cache: private'\n  const session = (await cookies()).get('session')?.value  \u002F\u002F Allowed\n  return fetchData(session)\n}\n```\n\n---\n\n## Cache Key Generation\n\nCache keys are automatic based on:\n- **Build ID** - invalidates all caches on deploy\n- **Function ID** - hash of function location\n- **Serializable arguments** - props become part of key\n- **Closure variables** - outer scope values included\n\n```tsx\nasync function Component({ userId }: { userId: string }) {\n  const getData = async (filter: string) => {\n    'use cache'\n    \u002F\u002F Cache key = userId (closure) + filter (argument)\n    return fetch(`\u002Fapi\u002Fusers\u002F${userId}?filter=${filter}`)\n  }\n  return getData('active')\n}\n```\n\n---\n\n## Complete Example\n\n```tsx\nimport { Suspense } from 'react'\nimport { cookies } from 'next\u002Fheaders'\nimport { cacheLife, cacheTag } from 'next\u002Fcache'\n\nexport default function DashboardPage() {\n  return (\n    \u003C>\n      {\u002F* Static shell - instant from CDN *\u002F}\n      \u003Cheader>\u003Ch1>Dashboard\u003C\u002Fh1>\u003C\u002Fheader>\n      \u003Cnav>...\u003C\u002Fnav>\n\n      {\u002F* Cached - fast, revalidates hourly *\u002F}\n      \u003CStats \u002F>\n\n      {\u002F* Dynamic - streams in with fresh data *\u002F}\n      \u003CSuspense fallback={\u003CNotificationsSkeleton \u002F>}>\n        \u003CNotifications \u002F>\n      \u003C\u002FSuspense>\n    \u003C\u002F>\n  )\n}\n\nasync function Stats() {\n  'use cache'\n  cacheLife('hours')\n  cacheTag('dashboard-stats')\n\n  const stats = await db.stats.aggregate()\n  return \u003CStatsDisplay stats={stats} \u002F>\n}\n\nasync function Notifications() {\n  const userId = (await cookies()).get('userId')?.value\n  const notifications = await db.notifications.findMany({\n    where: { userId, read: false }\n  })\n  return \u003CNotificationList items={notifications} \u002F>\n}\n```\n\n---\n\n## Migration from Previous Versions\n\n| Old Config | Replacement |\n|-----------|-------------|\n| `experimental.ppr` | `cacheComponents: true` |\n| `dynamic = 'force-dynamic'` | Remove (default behavior) |\n| `dynamic = 'force-static'` | `'use cache'` + `cacheLife('max')` |\n| `revalidate = N` | `cacheLife({ revalidate: N })` |\n| `unstable_cache()` | `'use cache'` directive |\n\n### Migrating `unstable_cache` to `use cache`\n\n`unstable_cache` has been replaced by the `use cache` directive in Next.js 16. When `cacheComponents` is enabled, convert `unstable_cache` calls to `use cache` functions:\n\n**Before (`unstable_cache`):**\n\n```tsx\nimport { unstable_cache } from 'next\u002Fcache'\n\nconst getCachedUser = unstable_cache(\n  async (id) => getUser(id),\n  ['my-app-user'],\n  {\n    tags: ['users'],\n    revalidate: 60,\n  }\n)\n\nexport default async function Page({ params }: { params: Promise\u003C{ id: string }> }) {\n  const { id } = await params\n  const user = await getCachedUser(id)\n  return \u003Cdiv>{user.name}\u003C\u002Fdiv>\n}\n```\n\n**After (`use cache`):**\n\n```tsx\nimport { cacheLife, cacheTag } from 'next\u002Fcache'\n\nasync function getCachedUser(id: string) {\n  'use cache'\n  cacheTag('users')\n  cacheLife({ revalidate: 60 })\n  return getUser(id)\n}\n\nexport default async function Page({ params }: { params: Promise\u003C{ id: string }> }) {\n  const { id } = await params\n  const user = await getCachedUser(id)\n  return \u003Cdiv>{user.name}\u003C\u002Fdiv>\n}\n```\n\nKey differences:\n- **No manual cache keys** - `use cache` generates keys automatically from function arguments and closures. The `keyParts` array from `unstable_cache` is no longer needed.\n- **Tags** - Replace `options.tags` with `cacheTag()` calls inside the function.\n- **Revalidation** - Replace `options.revalidate` with `cacheLife({ revalidate: N })` or a built-in profile like `cacheLife('minutes')`.\n- **Dynamic data** - `unstable_cache` did not support `cookies()` or `headers()` inside the callback. The same restriction applies to `use cache`, but you can use `'use cache: private'` if needed.\n\n---\n\n## Limitations\n\n- **Edge runtime not supported** - requires Node.js\n- **Static export not supported** - needs server\n- **Non-deterministic values** (`Math.random()`, `Date.now()`) execute once at build time inside `use cache`\n\nFor request-time randomness outside cache:\n\n```tsx\nimport { connection } from 'next\u002Fserver'\n\nasync function DynamicContent() {\n  await connection()  \u002F\u002F Defer to request time\n  const id = crypto.randomUUID()  \u002F\u002F Different per request\n  return \u003Cdiv>{id}\u003C\u002Fdiv>\n}\n```\n\nSources:\n- [Cache Components Guide](https:\u002F\u002Fnextjs.org\u002Fdocs\u002Fapp\u002Fgetting-started\u002Fcache-components)\n- [use cache Directive](https:\u002F\u002Fnextjs.org\u002Fdocs\u002Fapp\u002Fapi-reference\u002Fdirectives\u002Fuse-cache)\n- [unstable_cache (legacy)](https:\u002F\u002Fnextjs.org\u002Fdocs\u002Fapp\u002Fapi-reference\u002Ffunctions\u002Funstable_cache)\n",{"data":35,"body":101},{"name":4,"description":6,"metadata":36,"retrieval":88,"chainTo":96},{"priority":37,"docs":38,"pathPatterns":41,"importPatterns":47,"bashPatterns":49,"promptSignals":51,"validate":76},6,[39,40],"https:\u002F\u002Fnextjs.org\u002Fdocs\u002Fapp\u002Fgetting-started\u002Fcache-components","https:\u002F\u002Fnextjs.org\u002Fdocs\u002Fapp\u002Fapi-reference\u002Fdirectives\u002Fuse-cache",[42,43,44,45,46],"next.config.*","app\u002F**","src\u002Fapp\u002F**","apps\u002F*\u002Fapp\u002F**","apps\u002F*\u002Fsrc\u002Fapp\u002F**",[48],"next\u002Fcache",[50],"\\bnext\\s+(dev|build)\\b",{"phrases":52,"allOf":61,"anyOf":70,"noneOf":75,"minScore":37},[53,54,55,56,57,58,59,60],"use cache","cache components","partial prerendering","PPR","cacheLife","cacheTag","updateTag","unstable_cache",[62,65,67],[63,64],"cache","component",[63,66],"directive",[68,69],"partial","prerender",[71,72,73,74],"revalidateTag","stale","revalidate","cache profile",[],[77,82,85],{"pattern":78,"message":79,"severity":80,"upgradeToSkill":4,"upgradeWhy":81},"unstable_cache\\s*\\(","unstable_cache is deprecated in Next.js 16 — use the \"use cache\" directive with cacheTag() and cacheLife() instead","recommended","Guides migration from unstable_cache to use cache directive with cacheTag and cacheLife.",{"pattern":83,"message":84,"severity":80},"\\bcacheHandler\\s*:","Singular cacheHandler is deprecated in Next.js 16 — use cacheHandlers (plural) with per-type handlers",{"pattern":86,"message":87,"severity":80},"revalidateTag\\(\\s*['\"][^'\"]+['\"]\\s*\\)","Single-arg revalidateTag(tag) is deprecated in Next.js 16 — pass a cacheLife profile: revalidateTag(tag, \"max\")",{"aliases":89,"intents":90,"entities":95},[54,55,56,53],[91,92,93,94],"enable partial prerendering in Next.js","cache async data with use cache directive","invalidate cache with cacheTag","migrate from unstable_cache",[53,57,58,59,71,56],[97],{"pattern":53,"targetSkill":98,"message":99,"skipIfFileContains":100},"nextjs","Cache component detected — loading Next.js best practices for RSC boundaries and data patterns alongside caching.","next-best-practices",{"type":102,"children":103},"root",[104,113,119,126,308,321,325,331,336,343,348,532,545,550,730,736,741,1161,1164,1175,1181,1324,1330,1449,1455,1553,1556,1562,1568,1595,1623,1651,1663,1824,1871,1877,2068,2071,2077,2089,2438,2450,2455,2708,2720,2725,2929,2932,2938,2978,2984,3474,3485,3490,3637,3640,3646,3651,3696,3936,3939,3945,4813,4816,4822,4959,4977,5016,5031,5465,5479,5885,5890,6025,6028,6034,6086,6091,6267,6272,6305],{"type":105,"tag":106,"props":107,"children":109},"element","h1",{"id":108},"cache-components-nextjs-16",[110],{"type":111,"value":112},"text","Cache Components (Next.js 16+)",{"type":105,"tag":114,"props":115,"children":116},"p",{},[117],{"type":111,"value":118},"Cache Components enable Partial Prerendering (PPR) - mix static, cached, and dynamic content in a single route.",{"type":105,"tag":120,"props":121,"children":123},"h2",{"id":122},"enable-cache-components",[124],{"type":111,"value":125},"Enable Cache Components",{"type":105,"tag":127,"props":128,"children":133},"pre",{"className":129,"code":130,"language":131,"meta":132,"style":132},"language-ts shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","\u002F\u002F next.config.ts\nimport type { NextConfig } from 'next'\n\nconst nextConfig: NextConfig = {\n  cacheComponents: true,\n}\n\nexport default nextConfig\n","ts","",[134],{"type":105,"tag":135,"props":136,"children":137},"code",{"__ignoreMap":132},[138,150,203,213,248,273,281,289],{"type":105,"tag":139,"props":140,"children":143},"span",{"class":141,"line":142},"line",1,[144],{"type":105,"tag":139,"props":145,"children":147},{"style":146},"--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic",[148],{"type":111,"value":149},"\u002F\u002F next.config.ts\n",{"type":105,"tag":139,"props":151,"children":153},{"class":141,"line":152},2,[154,160,165,171,177,182,187,192,198],{"type":105,"tag":139,"props":155,"children":157},{"style":156},"--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic",[158],{"type":111,"value":159},"import",{"type":105,"tag":139,"props":161,"children":162},{"style":156},[163],{"type":111,"value":164}," type",{"type":105,"tag":139,"props":166,"children":168},{"style":167},"--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF",[169],{"type":111,"value":170}," {",{"type":105,"tag":139,"props":172,"children":174},{"style":173},"--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8",[175],{"type":111,"value":176}," NextConfig",{"type":105,"tag":139,"props":178,"children":179},{"style":167},[180],{"type":111,"value":181}," }",{"type":105,"tag":139,"props":183,"children":184},{"style":156},[185],{"type":111,"value":186}," from",{"type":105,"tag":139,"props":188,"children":189},{"style":167},[190],{"type":111,"value":191}," '",{"type":105,"tag":139,"props":193,"children":195},{"style":194},"--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D",[196],{"type":111,"value":197},"next",{"type":105,"tag":139,"props":199,"children":200},{"style":167},[201],{"type":111,"value":202},"'\n",{"type":105,"tag":139,"props":204,"children":206},{"class":141,"line":205},3,[207],{"type":105,"tag":139,"props":208,"children":210},{"emptyLinePlaceholder":209},true,[211],{"type":111,"value":212},"\n",{"type":105,"tag":139,"props":214,"children":216},{"class":141,"line":215},4,[217,223,228,233,238,243],{"type":105,"tag":139,"props":218,"children":220},{"style":219},"--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA",[221],{"type":111,"value":222},"const",{"type":105,"tag":139,"props":224,"children":225},{"style":173},[226],{"type":111,"value":227}," nextConfig",{"type":105,"tag":139,"props":229,"children":230},{"style":167},[231],{"type":111,"value":232},":",{"type":105,"tag":139,"props":234,"children":236},{"style":235},"--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B",[237],{"type":111,"value":176},{"type":105,"tag":139,"props":239,"children":240},{"style":167},[241],{"type":111,"value":242}," =",{"type":105,"tag":139,"props":244,"children":245},{"style":167},[246],{"type":111,"value":247}," {\n",{"type":105,"tag":139,"props":249,"children":251},{"class":141,"line":250},5,[252,258,262,268],{"type":105,"tag":139,"props":253,"children":255},{"style":254},"--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178",[256],{"type":111,"value":257},"  cacheComponents",{"type":105,"tag":139,"props":259,"children":260},{"style":167},[261],{"type":111,"value":232},{"type":105,"tag":139,"props":263,"children":265},{"style":264},"--shiki-light:#FF5370;--shiki-default:#FF9CAC;--shiki-dark:#FF9CAC",[266],{"type":111,"value":267}," true",{"type":105,"tag":139,"props":269,"children":270},{"style":167},[271],{"type":111,"value":272},",\n",{"type":105,"tag":139,"props":274,"children":275},{"class":141,"line":37},[276],{"type":105,"tag":139,"props":277,"children":278},{"style":167},[279],{"type":111,"value":280},"}\n",{"type":105,"tag":139,"props":282,"children":284},{"class":141,"line":283},7,[285],{"type":105,"tag":139,"props":286,"children":287},{"emptyLinePlaceholder":209},[288],{"type":111,"value":212},{"type":105,"tag":139,"props":290,"children":292},{"class":141,"line":291},8,[293,298,303],{"type":105,"tag":139,"props":294,"children":295},{"style":156},[296],{"type":111,"value":297},"export",{"type":105,"tag":139,"props":299,"children":300},{"style":156},[301],{"type":111,"value":302}," default",{"type":105,"tag":139,"props":304,"children":305},{"style":173},[306],{"type":111,"value":307}," nextConfig\n",{"type":105,"tag":114,"props":309,"children":310},{},[311,313,319],{"type":111,"value":312},"This replaces the old ",{"type":105,"tag":135,"props":314,"children":316},{"className":315},[],[317],{"type":111,"value":318},"experimental.ppr",{"type":111,"value":320}," flag.",{"type":105,"tag":322,"props":323,"children":324},"hr",{},[],{"type":105,"tag":120,"props":326,"children":328},{"id":327},"three-content-types",[329],{"type":111,"value":330},"Three Content Types",{"type":105,"tag":114,"props":332,"children":333},{},[334],{"type":111,"value":335},"With Cache Components enabled, content falls into three categories:",{"type":105,"tag":337,"props":338,"children":340},"h3",{"id":339},"_1-static-auto-prerendered",[341],{"type":111,"value":342},"1. Static (Auto-Prerendered)",{"type":105,"tag":114,"props":344,"children":345},{},[346],{"type":111,"value":347},"Synchronous code, imports, pure computations - prerendered at build time:",{"type":105,"tag":127,"props":349,"children":353},{"className":350,"code":351,"language":352,"meta":132,"style":132},"language-tsx shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","export default function Page() {\n  return (\n    \u003Cheader>\n      \u003Ch1>Our Blog\u003C\u002Fh1>  {\u002F* Static - instant *\u002F}\n      \u003Cnav>...\u003C\u002Fnav>\n    \u003C\u002Fheader>\n  )\n}\n","tsx",[354],{"type":105,"tag":135,"props":355,"children":356},{"__ignoreMap":132},[357,388,401,419,468,501,517,525],{"type":105,"tag":139,"props":358,"children":359},{"class":141,"line":142},[360,364,368,373,379,384],{"type":105,"tag":139,"props":361,"children":362},{"style":156},[363],{"type":111,"value":297},{"type":105,"tag":139,"props":365,"children":366},{"style":156},[367],{"type":111,"value":302},{"type":105,"tag":139,"props":369,"children":370},{"style":219},[371],{"type":111,"value":372}," function",{"type":105,"tag":139,"props":374,"children":376},{"style":375},"--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF",[377],{"type":111,"value":378}," Page",{"type":105,"tag":139,"props":380,"children":381},{"style":167},[382],{"type":111,"value":383},"()",{"type":105,"tag":139,"props":385,"children":386},{"style":167},[387],{"type":111,"value":247},{"type":105,"tag":139,"props":389,"children":390},{"class":141,"line":152},[391,396],{"type":105,"tag":139,"props":392,"children":393},{"style":156},[394],{"type":111,"value":395},"  return",{"type":105,"tag":139,"props":397,"children":398},{"style":254},[399],{"type":111,"value":400}," (\n",{"type":105,"tag":139,"props":402,"children":403},{"class":141,"line":205},[404,409,414],{"type":105,"tag":139,"props":405,"children":406},{"style":167},[407],{"type":111,"value":408},"    \u003C",{"type":105,"tag":139,"props":410,"children":411},{"style":254},[412],{"type":111,"value":413},"header",{"type":105,"tag":139,"props":415,"children":416},{"style":167},[417],{"type":111,"value":418},">\n",{"type":105,"tag":139,"props":420,"children":421},{"class":141,"line":215},[422,427,431,436,441,446,450,454,459,464],{"type":105,"tag":139,"props":423,"children":424},{"style":167},[425],{"type":111,"value":426},"      \u003C",{"type":105,"tag":139,"props":428,"children":429},{"style":254},[430],{"type":111,"value":106},{"type":105,"tag":139,"props":432,"children":433},{"style":167},[434],{"type":111,"value":435},">",{"type":105,"tag":139,"props":437,"children":438},{"style":173},[439],{"type":111,"value":440},"Our Blog",{"type":105,"tag":139,"props":442,"children":443},{"style":167},[444],{"type":111,"value":445},"\u003C\u002F",{"type":105,"tag":139,"props":447,"children":448},{"style":254},[449],{"type":111,"value":106},{"type":105,"tag":139,"props":451,"children":452},{"style":167},[453],{"type":111,"value":435},{"type":105,"tag":139,"props":455,"children":456},{"style":167},[457],{"type":111,"value":458},"  {",{"type":105,"tag":139,"props":460,"children":461},{"style":146},[462],{"type":111,"value":463},"\u002F* Static - instant *\u002F",{"type":105,"tag":139,"props":465,"children":466},{"style":167},[467],{"type":111,"value":280},{"type":105,"tag":139,"props":469,"children":470},{"class":141,"line":250},[471,475,480,484,489,493,497],{"type":105,"tag":139,"props":472,"children":473},{"style":167},[474],{"type":111,"value":426},{"type":105,"tag":139,"props":476,"children":477},{"style":254},[478],{"type":111,"value":479},"nav",{"type":105,"tag":139,"props":481,"children":482},{"style":167},[483],{"type":111,"value":435},{"type":105,"tag":139,"props":485,"children":486},{"style":173},[487],{"type":111,"value":488},"...",{"type":105,"tag":139,"props":490,"children":491},{"style":167},[492],{"type":111,"value":445},{"type":105,"tag":139,"props":494,"children":495},{"style":254},[496],{"type":111,"value":479},{"type":105,"tag":139,"props":498,"children":499},{"style":167},[500],{"type":111,"value":418},{"type":105,"tag":139,"props":502,"children":503},{"class":141,"line":37},[504,509,513],{"type":105,"tag":139,"props":505,"children":506},{"style":167},[507],{"type":111,"value":508},"    \u003C\u002F",{"type":105,"tag":139,"props":510,"children":511},{"style":254},[512],{"type":111,"value":413},{"type":105,"tag":139,"props":514,"children":515},{"style":167},[516],{"type":111,"value":418},{"type":105,"tag":139,"props":518,"children":519},{"class":141,"line":283},[520],{"type":105,"tag":139,"props":521,"children":522},{"style":254},[523],{"type":111,"value":524},"  )\n",{"type":105,"tag":139,"props":526,"children":527},{"class":141,"line":291},[528],{"type":105,"tag":139,"props":529,"children":530},{"style":167},[531],{"type":111,"value":280},{"type":105,"tag":337,"props":533,"children":535},{"id":534},"_2-cached-use-cache",[536,538,543],{"type":111,"value":537},"2. Cached (",{"type":105,"tag":135,"props":539,"children":541},{"className":540},[],[542],{"type":111,"value":53},{"type":111,"value":544},")",{"type":105,"tag":114,"props":546,"children":547},{},[548],{"type":111,"value":549},"Async data that doesn't need fresh fetches every request:",{"type":105,"tag":127,"props":551,"children":553},{"className":350,"code":552,"language":352,"meta":132,"style":132},"async function BlogPosts() {\n  'use cache'\n  cacheLife('hours')\n\n  const posts = await db.posts.findMany()\n  return \u003CPostList posts={posts} \u002F>\n}\n",[554],{"type":105,"tag":135,"props":555,"children":556},{"__ignoreMap":132},[557,582,598,630,637,688,723],{"type":105,"tag":139,"props":558,"children":559},{"class":141,"line":142},[560,565,569,574,578],{"type":105,"tag":139,"props":561,"children":562},{"style":219},[563],{"type":111,"value":564},"async",{"type":105,"tag":139,"props":566,"children":567},{"style":219},[568],{"type":111,"value":372},{"type":105,"tag":139,"props":570,"children":571},{"style":375},[572],{"type":111,"value":573}," BlogPosts",{"type":105,"tag":139,"props":575,"children":576},{"style":167},[577],{"type":111,"value":383},{"type":105,"tag":139,"props":579,"children":580},{"style":167},[581],{"type":111,"value":247},{"type":105,"tag":139,"props":583,"children":584},{"class":141,"line":152},[585,590,594],{"type":105,"tag":139,"props":586,"children":587},{"style":167},[588],{"type":111,"value":589},"  '",{"type":105,"tag":139,"props":591,"children":592},{"style":194},[593],{"type":111,"value":53},{"type":105,"tag":139,"props":595,"children":596},{"style":167},[597],{"type":111,"value":202},{"type":105,"tag":139,"props":599,"children":600},{"class":141,"line":205},[601,606,611,616,621,625],{"type":105,"tag":139,"props":602,"children":603},{"style":375},[604],{"type":111,"value":605},"  cacheLife",{"type":105,"tag":139,"props":607,"children":608},{"style":254},[609],{"type":111,"value":610},"(",{"type":105,"tag":139,"props":612,"children":613},{"style":167},[614],{"type":111,"value":615},"'",{"type":105,"tag":139,"props":617,"children":618},{"style":194},[619],{"type":111,"value":620},"hours",{"type":105,"tag":139,"props":622,"children":623},{"style":167},[624],{"type":111,"value":615},{"type":105,"tag":139,"props":626,"children":627},{"style":254},[628],{"type":111,"value":629},")\n",{"type":105,"tag":139,"props":631,"children":632},{"class":141,"line":215},[633],{"type":105,"tag":139,"props":634,"children":635},{"emptyLinePlaceholder":209},[636],{"type":111,"value":212},{"type":105,"tag":139,"props":638,"children":639},{"class":141,"line":250},[640,645,650,654,659,664,669,674,678,683],{"type":105,"tag":139,"props":641,"children":642},{"style":219},[643],{"type":111,"value":644},"  const",{"type":105,"tag":139,"props":646,"children":647},{"style":173},[648],{"type":111,"value":649}," posts",{"type":105,"tag":139,"props":651,"children":652},{"style":167},[653],{"type":111,"value":242},{"type":105,"tag":139,"props":655,"children":656},{"style":156},[657],{"type":111,"value":658}," await",{"type":105,"tag":139,"props":660,"children":661},{"style":173},[662],{"type":111,"value":663}," db",{"type":105,"tag":139,"props":665,"children":666},{"style":167},[667],{"type":111,"value":668},".",{"type":105,"tag":139,"props":670,"children":671},{"style":173},[672],{"type":111,"value":673},"posts",{"type":105,"tag":139,"props":675,"children":676},{"style":167},[677],{"type":111,"value":668},{"type":105,"tag":139,"props":679,"children":680},{"style":375},[681],{"type":111,"value":682},"findMany",{"type":105,"tag":139,"props":684,"children":685},{"style":254},[686],{"type":111,"value":687},"()\n",{"type":105,"tag":139,"props":689,"children":690},{"class":141,"line":37},[691,695,700,705,709,714,718],{"type":105,"tag":139,"props":692,"children":693},{"style":156},[694],{"type":111,"value":395},{"type":105,"tag":139,"props":696,"children":697},{"style":167},[698],{"type":111,"value":699}," \u003C",{"type":105,"tag":139,"props":701,"children":702},{"style":235},[703],{"type":111,"value":704},"PostList",{"type":105,"tag":139,"props":706,"children":707},{"style":219},[708],{"type":111,"value":649},{"type":105,"tag":139,"props":710,"children":711},{"style":167},[712],{"type":111,"value":713},"={",{"type":105,"tag":139,"props":715,"children":716},{"style":173},[717],{"type":111,"value":673},{"type":105,"tag":139,"props":719,"children":720},{"style":167},[721],{"type":111,"value":722},"} \u002F>\n",{"type":105,"tag":139,"props":724,"children":725},{"class":141,"line":283},[726],{"type":105,"tag":139,"props":727,"children":728},{"style":167},[729],{"type":111,"value":280},{"type":105,"tag":337,"props":731,"children":733},{"id":732},"_3-dynamic-suspense",[734],{"type":111,"value":735},"3. Dynamic (Suspense)",{"type":105,"tag":114,"props":737,"children":738},{},[739],{"type":111,"value":740},"Runtime data that must be fresh - wrap in Suspense:",{"type":105,"tag":127,"props":742,"children":744},{"className":350,"code":743,"language":352,"meta":132,"style":132},"import { Suspense } from 'react'\n\nexport default function Page() {\n  return (\n    \u003C>\n      \u003CBlogPosts \u002F>  {\u002F* Cached *\u002F}\n\n      \u003CSuspense fallback={\u003Cp>Loading...\u003C\u002Fp>}>\n        \u003CUserPreferences \u002F>  {\u002F* Dynamic - streams in *\u002F}\n      \u003C\u002FSuspense>\n    \u003C\u002F>\n  )\n}\n\nasync function UserPreferences() {\n  const theme = (await cookies()).get('theme')?.value\n  return \u003Cp>Theme: {theme}\u003C\u002Fp>\n}\n",[745],{"type":105,"tag":135,"props":746,"children":747},{"__ignoreMap":132},[748,785,792,819,830,838,868,875,923,954,971,980,988,996,1004,1029,1106,1153],{"type":105,"tag":139,"props":749,"children":750},{"class":141,"line":142},[751,755,759,764,768,772,776,781],{"type":105,"tag":139,"props":752,"children":753},{"style":156},[754],{"type":111,"value":159},{"type":105,"tag":139,"props":756,"children":757},{"style":167},[758],{"type":111,"value":170},{"type":105,"tag":139,"props":760,"children":761},{"style":173},[762],{"type":111,"value":763}," Suspense",{"type":105,"tag":139,"props":765,"children":766},{"style":167},[767],{"type":111,"value":181},{"type":105,"tag":139,"props":769,"children":770},{"style":156},[771],{"type":111,"value":186},{"type":105,"tag":139,"props":773,"children":774},{"style":167},[775],{"type":111,"value":191},{"type":105,"tag":139,"props":777,"children":778},{"style":194},[779],{"type":111,"value":780},"react",{"type":105,"tag":139,"props":782,"children":783},{"style":167},[784],{"type":111,"value":202},{"type":105,"tag":139,"props":786,"children":787},{"class":141,"line":152},[788],{"type":105,"tag":139,"props":789,"children":790},{"emptyLinePlaceholder":209},[791],{"type":111,"value":212},{"type":105,"tag":139,"props":793,"children":794},{"class":141,"line":205},[795,799,803,807,811,815],{"type":105,"tag":139,"props":796,"children":797},{"style":156},[798],{"type":111,"value":297},{"type":105,"tag":139,"props":800,"children":801},{"style":156},[802],{"type":111,"value":302},{"type":105,"tag":139,"props":804,"children":805},{"style":219},[806],{"type":111,"value":372},{"type":105,"tag":139,"props":808,"children":809},{"style":375},[810],{"type":111,"value":378},{"type":105,"tag":139,"props":812,"children":813},{"style":167},[814],{"type":111,"value":383},{"type":105,"tag":139,"props":816,"children":817},{"style":167},[818],{"type":111,"value":247},{"type":105,"tag":139,"props":820,"children":821},{"class":141,"line":215},[822,826],{"type":105,"tag":139,"props":823,"children":824},{"style":156},[825],{"type":111,"value":395},{"type":105,"tag":139,"props":827,"children":828},{"style":254},[829],{"type":111,"value":400},{"type":105,"tag":139,"props":831,"children":832},{"class":141,"line":250},[833],{"type":105,"tag":139,"props":834,"children":835},{"style":167},[836],{"type":111,"value":837},"    \u003C>\n",{"type":105,"tag":139,"props":839,"children":840},{"class":141,"line":37},[841,845,850,855,859,864],{"type":105,"tag":139,"props":842,"children":843},{"style":167},[844],{"type":111,"value":426},{"type":105,"tag":139,"props":846,"children":847},{"style":235},[848],{"type":111,"value":849},"BlogPosts",{"type":105,"tag":139,"props":851,"children":852},{"style":167},[853],{"type":111,"value":854}," \u002F>",{"type":105,"tag":139,"props":856,"children":857},{"style":167},[858],{"type":111,"value":458},{"type":105,"tag":139,"props":860,"children":861},{"style":146},[862],{"type":111,"value":863},"\u002F* Cached *\u002F",{"type":105,"tag":139,"props":865,"children":866},{"style":167},[867],{"type":111,"value":280},{"type":105,"tag":139,"props":869,"children":870},{"class":141,"line":283},[871],{"type":105,"tag":139,"props":872,"children":873},{"emptyLinePlaceholder":209},[874],{"type":111,"value":212},{"type":105,"tag":139,"props":876,"children":877},{"class":141,"line":291},[878,882,887,892,897,901,905,910,914,918],{"type":105,"tag":139,"props":879,"children":880},{"style":167},[881],{"type":111,"value":426},{"type":105,"tag":139,"props":883,"children":884},{"style":235},[885],{"type":111,"value":886},"Suspense",{"type":105,"tag":139,"props":888,"children":889},{"style":219},[890],{"type":111,"value":891}," fallback",{"type":105,"tag":139,"props":893,"children":894},{"style":167},[895],{"type":111,"value":896},"={\u003C",{"type":105,"tag":139,"props":898,"children":899},{"style":254},[900],{"type":111,"value":114},{"type":105,"tag":139,"props":902,"children":903},{"style":167},[904],{"type":111,"value":435},{"type":105,"tag":139,"props":906,"children":907},{"style":173},[908],{"type":111,"value":909},"Loading...",{"type":105,"tag":139,"props":911,"children":912},{"style":167},[913],{"type":111,"value":445},{"type":105,"tag":139,"props":915,"children":916},{"style":254},[917],{"type":111,"value":114},{"type":105,"tag":139,"props":919,"children":920},{"style":167},[921],{"type":111,"value":922},">}>\n",{"type":105,"tag":139,"props":924,"children":926},{"class":141,"line":925},9,[927,932,937,941,945,950],{"type":105,"tag":139,"props":928,"children":929},{"style":167},[930],{"type":111,"value":931},"        \u003C",{"type":105,"tag":139,"props":933,"children":934},{"style":235},[935],{"type":111,"value":936},"UserPreferences",{"type":105,"tag":139,"props":938,"children":939},{"style":167},[940],{"type":111,"value":854},{"type":105,"tag":139,"props":942,"children":943},{"style":167},[944],{"type":111,"value":458},{"type":105,"tag":139,"props":946,"children":947},{"style":146},[948],{"type":111,"value":949},"\u002F* Dynamic - streams in *\u002F",{"type":105,"tag":139,"props":951,"children":952},{"style":167},[953],{"type":111,"value":280},{"type":105,"tag":139,"props":955,"children":957},{"class":141,"line":956},10,[958,963,967],{"type":105,"tag":139,"props":959,"children":960},{"style":167},[961],{"type":111,"value":962},"      \u003C\u002F",{"type":105,"tag":139,"props":964,"children":965},{"style":235},[966],{"type":111,"value":886},{"type":105,"tag":139,"props":968,"children":969},{"style":167},[970],{"type":111,"value":418},{"type":105,"tag":139,"props":972,"children":974},{"class":141,"line":973},11,[975],{"type":105,"tag":139,"props":976,"children":977},{"style":167},[978],{"type":111,"value":979},"    \u003C\u002F>\n",{"type":105,"tag":139,"props":981,"children":983},{"class":141,"line":982},12,[984],{"type":105,"tag":139,"props":985,"children":986},{"style":254},[987],{"type":111,"value":524},{"type":105,"tag":139,"props":989,"children":991},{"class":141,"line":990},13,[992],{"type":105,"tag":139,"props":993,"children":994},{"style":167},[995],{"type":111,"value":280},{"type":105,"tag":139,"props":997,"children":999},{"class":141,"line":998},14,[1000],{"type":105,"tag":139,"props":1001,"children":1002},{"emptyLinePlaceholder":209},[1003],{"type":111,"value":212},{"type":105,"tag":139,"props":1005,"children":1007},{"class":141,"line":1006},15,[1008,1012,1016,1021,1025],{"type":105,"tag":139,"props":1009,"children":1010},{"style":219},[1011],{"type":111,"value":564},{"type":105,"tag":139,"props":1013,"children":1014},{"style":219},[1015],{"type":111,"value":372},{"type":105,"tag":139,"props":1017,"children":1018},{"style":375},[1019],{"type":111,"value":1020}," UserPreferences",{"type":105,"tag":139,"props":1022,"children":1023},{"style":167},[1024],{"type":111,"value":383},{"type":105,"tag":139,"props":1026,"children":1027},{"style":167},[1028],{"type":111,"value":247},{"type":105,"tag":139,"props":1030,"children":1032},{"class":141,"line":1031},16,[1033,1037,1042,1046,1051,1056,1061,1066,1070,1075,1079,1083,1088,1092,1096,1101],{"type":105,"tag":139,"props":1034,"children":1035},{"style":219},[1036],{"type":111,"value":644},{"type":105,"tag":139,"props":1038,"children":1039},{"style":173},[1040],{"type":111,"value":1041}," theme",{"type":105,"tag":139,"props":1043,"children":1044},{"style":167},[1045],{"type":111,"value":242},{"type":105,"tag":139,"props":1047,"children":1048},{"style":254},[1049],{"type":111,"value":1050}," (",{"type":105,"tag":139,"props":1052,"children":1053},{"style":156},[1054],{"type":111,"value":1055},"await",{"type":105,"tag":139,"props":1057,"children":1058},{"style":375},[1059],{"type":111,"value":1060}," cookies",{"type":105,"tag":139,"props":1062,"children":1063},{"style":254},[1064],{"type":111,"value":1065},"())",{"type":105,"tag":139,"props":1067,"children":1068},{"style":167},[1069],{"type":111,"value":668},{"type":105,"tag":139,"props":1071,"children":1072},{"style":375},[1073],{"type":111,"value":1074},"get",{"type":105,"tag":139,"props":1076,"children":1077},{"style":254},[1078],{"type":111,"value":610},{"type":105,"tag":139,"props":1080,"children":1081},{"style":167},[1082],{"type":111,"value":615},{"type":105,"tag":139,"props":1084,"children":1085},{"style":194},[1086],{"type":111,"value":1087},"theme",{"type":105,"tag":139,"props":1089,"children":1090},{"style":167},[1091],{"type":111,"value":615},{"type":105,"tag":139,"props":1093,"children":1094},{"style":254},[1095],{"type":111,"value":544},{"type":105,"tag":139,"props":1097,"children":1098},{"style":167},[1099],{"type":111,"value":1100},"?.",{"type":105,"tag":139,"props":1102,"children":1103},{"style":173},[1104],{"type":111,"value":1105},"value\n",{"type":105,"tag":139,"props":1107,"children":1109},{"class":141,"line":1108},17,[1110,1114,1118,1122,1126,1131,1136,1140,1145,1149],{"type":105,"tag":139,"props":1111,"children":1112},{"style":156},[1113],{"type":111,"value":395},{"type":105,"tag":139,"props":1115,"children":1116},{"style":167},[1117],{"type":111,"value":699},{"type":105,"tag":139,"props":1119,"children":1120},{"style":254},[1121],{"type":111,"value":114},{"type":105,"tag":139,"props":1123,"children":1124},{"style":167},[1125],{"type":111,"value":435},{"type":105,"tag":139,"props":1127,"children":1128},{"style":173},[1129],{"type":111,"value":1130},"Theme: ",{"type":105,"tag":139,"props":1132,"children":1133},{"style":167},[1134],{"type":111,"value":1135},"{",{"type":105,"tag":139,"props":1137,"children":1138},{"style":173},[1139],{"type":111,"value":1087},{"type":105,"tag":139,"props":1141,"children":1142},{"style":167},[1143],{"type":111,"value":1144},"}\u003C\u002F",{"type":105,"tag":139,"props":1146,"children":1147},{"style":254},[1148],{"type":111,"value":114},{"type":105,"tag":139,"props":1150,"children":1151},{"style":167},[1152],{"type":111,"value":418},{"type":105,"tag":139,"props":1154,"children":1156},{"class":141,"line":1155},18,[1157],{"type":105,"tag":139,"props":1158,"children":1159},{"style":167},[1160],{"type":111,"value":280},{"type":105,"tag":322,"props":1162,"children":1163},{},[],{"type":105,"tag":120,"props":1165,"children":1167},{"id":1166},"use-cache-directive",[1168,1173],{"type":105,"tag":135,"props":1169,"children":1171},{"className":1170},[],[1172],{"type":111,"value":53},{"type":111,"value":1174}," Directive",{"type":105,"tag":337,"props":1176,"children":1178},{"id":1177},"file-level",[1179],{"type":111,"value":1180},"File Level",{"type":105,"tag":127,"props":1182,"children":1184},{"className":350,"code":1183,"language":352,"meta":132,"style":132},"'use cache'\n\nexport default async function Page() {\n  \u002F\u002F Entire page is cached\n  const data = await fetchData()\n  return \u003Cdiv>{data}\u003C\u002Fdiv>\n}\n",[1185],{"type":105,"tag":135,"props":1186,"children":1187},{"__ignoreMap":132},[1188,1203,1210,1242,1250,1279,1317],{"type":105,"tag":139,"props":1189,"children":1190},{"class":141,"line":142},[1191,1195,1199],{"type":105,"tag":139,"props":1192,"children":1193},{"style":167},[1194],{"type":111,"value":615},{"type":105,"tag":139,"props":1196,"children":1197},{"style":194},[1198],{"type":111,"value":53},{"type":105,"tag":139,"props":1200,"children":1201},{"style":167},[1202],{"type":111,"value":202},{"type":105,"tag":139,"props":1204,"children":1205},{"class":141,"line":152},[1206],{"type":105,"tag":139,"props":1207,"children":1208},{"emptyLinePlaceholder":209},[1209],{"type":111,"value":212},{"type":105,"tag":139,"props":1211,"children":1212},{"class":141,"line":205},[1213,1217,1221,1226,1230,1234,1238],{"type":105,"tag":139,"props":1214,"children":1215},{"style":156},[1216],{"type":111,"value":297},{"type":105,"tag":139,"props":1218,"children":1219},{"style":156},[1220],{"type":111,"value":302},{"type":105,"tag":139,"props":1222,"children":1223},{"style":219},[1224],{"type":111,"value":1225}," async",{"type":105,"tag":139,"props":1227,"children":1228},{"style":219},[1229],{"type":111,"value":372},{"type":105,"tag":139,"props":1231,"children":1232},{"style":375},[1233],{"type":111,"value":378},{"type":105,"tag":139,"props":1235,"children":1236},{"style":167},[1237],{"type":111,"value":383},{"type":105,"tag":139,"props":1239,"children":1240},{"style":167},[1241],{"type":111,"value":247},{"type":105,"tag":139,"props":1243,"children":1244},{"class":141,"line":215},[1245],{"type":105,"tag":139,"props":1246,"children":1247},{"style":146},[1248],{"type":111,"value":1249},"  \u002F\u002F Entire page is cached\n",{"type":105,"tag":139,"props":1251,"children":1252},{"class":141,"line":250},[1253,1257,1262,1266,1270,1275],{"type":105,"tag":139,"props":1254,"children":1255},{"style":219},[1256],{"type":111,"value":644},{"type":105,"tag":139,"props":1258,"children":1259},{"style":173},[1260],{"type":111,"value":1261}," data",{"type":105,"tag":139,"props":1263,"children":1264},{"style":167},[1265],{"type":111,"value":242},{"type":105,"tag":139,"props":1267,"children":1268},{"style":156},[1269],{"type":111,"value":658},{"type":105,"tag":139,"props":1271,"children":1272},{"style":375},[1273],{"type":111,"value":1274}," fetchData",{"type":105,"tag":139,"props":1276,"children":1277},{"style":254},[1278],{"type":111,"value":687},{"type":105,"tag":139,"props":1280,"children":1281},{"class":141,"line":37},[1282,1286,1290,1295,1300,1305,1309,1313],{"type":105,"tag":139,"props":1283,"children":1284},{"style":156},[1285],{"type":111,"value":395},{"type":105,"tag":139,"props":1287,"children":1288},{"style":167},[1289],{"type":111,"value":699},{"type":105,"tag":139,"props":1291,"children":1292},{"style":254},[1293],{"type":111,"value":1294},"div",{"type":105,"tag":139,"props":1296,"children":1297},{"style":167},[1298],{"type":111,"value":1299},">{",{"type":105,"tag":139,"props":1301,"children":1302},{"style":173},[1303],{"type":111,"value":1304},"data",{"type":105,"tag":139,"props":1306,"children":1307},{"style":167},[1308],{"type":111,"value":1144},{"type":105,"tag":139,"props":1310,"children":1311},{"style":254},[1312],{"type":111,"value":1294},{"type":105,"tag":139,"props":1314,"children":1315},{"style":167},[1316],{"type":111,"value":418},{"type":105,"tag":139,"props":1318,"children":1319},{"class":141,"line":283},[1320],{"type":105,"tag":139,"props":1321,"children":1322},{"style":167},[1323],{"type":111,"value":280},{"type":105,"tag":337,"props":1325,"children":1327},{"id":1326},"component-level",[1328],{"type":111,"value":1329},"Component Level",{"type":105,"tag":127,"props":1331,"children":1333},{"className":350,"code":1332,"language":352,"meta":132,"style":132},"export async function CachedComponent() {\n  'use cache'\n  const data = await fetchData()\n  return \u003Cdiv>{data}\u003C\u002Fdiv>\n}\n",[1334],{"type":105,"tag":135,"props":1335,"children":1336},{"__ignoreMap":132},[1337,1365,1380,1407,1442],{"type":105,"tag":139,"props":1338,"children":1339},{"class":141,"line":142},[1340,1344,1348,1352,1357,1361],{"type":105,"tag":139,"props":1341,"children":1342},{"style":156},[1343],{"type":111,"value":297},{"type":105,"tag":139,"props":1345,"children":1346},{"style":219},[1347],{"type":111,"value":1225},{"type":105,"tag":139,"props":1349,"children":1350},{"style":219},[1351],{"type":111,"value":372},{"type":105,"tag":139,"props":1353,"children":1354},{"style":375},[1355],{"type":111,"value":1356}," CachedComponent",{"type":105,"tag":139,"props":1358,"children":1359},{"style":167},[1360],{"type":111,"value":383},{"type":105,"tag":139,"props":1362,"children":1363},{"style":167},[1364],{"type":111,"value":247},{"type":105,"tag":139,"props":1366,"children":1367},{"class":141,"line":152},[1368,1372,1376],{"type":105,"tag":139,"props":1369,"children":1370},{"style":167},[1371],{"type":111,"value":589},{"type":105,"tag":139,"props":1373,"children":1374},{"style":194},[1375],{"type":111,"value":53},{"type":105,"tag":139,"props":1377,"children":1378},{"style":167},[1379],{"type":111,"value":202},{"type":105,"tag":139,"props":1381,"children":1382},{"class":141,"line":205},[1383,1387,1391,1395,1399,1403],{"type":105,"tag":139,"props":1384,"children":1385},{"style":219},[1386],{"type":111,"value":644},{"type":105,"tag":139,"props":1388,"children":1389},{"style":173},[1390],{"type":111,"value":1261},{"type":105,"tag":139,"props":1392,"children":1393},{"style":167},[1394],{"type":111,"value":242},{"type":105,"tag":139,"props":1396,"children":1397},{"style":156},[1398],{"type":111,"value":658},{"type":105,"tag":139,"props":1400,"children":1401},{"style":375},[1402],{"type":111,"value":1274},{"type":105,"tag":139,"props":1404,"children":1405},{"style":254},[1406],{"type":111,"value":687},{"type":105,"tag":139,"props":1408,"children":1409},{"class":141,"line":215},[1410,1414,1418,1422,1426,1430,1434,1438],{"type":105,"tag":139,"props":1411,"children":1412},{"style":156},[1413],{"type":111,"value":395},{"type":105,"tag":139,"props":1415,"children":1416},{"style":167},[1417],{"type":111,"value":699},{"type":105,"tag":139,"props":1419,"children":1420},{"style":254},[1421],{"type":111,"value":1294},{"type":105,"tag":139,"props":1423,"children":1424},{"style":167},[1425],{"type":111,"value":1299},{"type":105,"tag":139,"props":1427,"children":1428},{"style":173},[1429],{"type":111,"value":1304},{"type":105,"tag":139,"props":1431,"children":1432},{"style":167},[1433],{"type":111,"value":1144},{"type":105,"tag":139,"props":1435,"children":1436},{"style":254},[1437],{"type":111,"value":1294},{"type":105,"tag":139,"props":1439,"children":1440},{"style":167},[1441],{"type":111,"value":418},{"type":105,"tag":139,"props":1443,"children":1444},{"class":141,"line":250},[1445],{"type":105,"tag":139,"props":1446,"children":1447},{"style":167},[1448],{"type":111,"value":280},{"type":105,"tag":337,"props":1450,"children":1452},{"id":1451},"function-level",[1453],{"type":111,"value":1454},"Function Level",{"type":105,"tag":127,"props":1456,"children":1458},{"className":350,"code":1457,"language":352,"meta":132,"style":132},"export async function getData() {\n  'use cache'\n  return db.query('SELECT * FROM posts')\n}\n",[1459],{"type":105,"tag":135,"props":1460,"children":1461},{"__ignoreMap":132},[1462,1490,1505,1546],{"type":105,"tag":139,"props":1463,"children":1464},{"class":141,"line":142},[1465,1469,1473,1477,1482,1486],{"type":105,"tag":139,"props":1466,"children":1467},{"style":156},[1468],{"type":111,"value":297},{"type":105,"tag":139,"props":1470,"children":1471},{"style":219},[1472],{"type":111,"value":1225},{"type":105,"tag":139,"props":1474,"children":1475},{"style":219},[1476],{"type":111,"value":372},{"type":105,"tag":139,"props":1478,"children":1479},{"style":375},[1480],{"type":111,"value":1481}," getData",{"type":105,"tag":139,"props":1483,"children":1484},{"style":167},[1485],{"type":111,"value":383},{"type":105,"tag":139,"props":1487,"children":1488},{"style":167},[1489],{"type":111,"value":247},{"type":105,"tag":139,"props":1491,"children":1492},{"class":141,"line":152},[1493,1497,1501],{"type":105,"tag":139,"props":1494,"children":1495},{"style":167},[1496],{"type":111,"value":589},{"type":105,"tag":139,"props":1498,"children":1499},{"style":194},[1500],{"type":111,"value":53},{"type":105,"tag":139,"props":1502,"children":1503},{"style":167},[1504],{"type":111,"value":202},{"type":105,"tag":139,"props":1506,"children":1507},{"class":141,"line":205},[1508,1512,1516,1520,1525,1529,1533,1538,1542],{"type":105,"tag":139,"props":1509,"children":1510},{"style":156},[1511],{"type":111,"value":395},{"type":105,"tag":139,"props":1513,"children":1514},{"style":173},[1515],{"type":111,"value":663},{"type":105,"tag":139,"props":1517,"children":1518},{"style":167},[1519],{"type":111,"value":668},{"type":105,"tag":139,"props":1521,"children":1522},{"style":375},[1523],{"type":111,"value":1524},"query",{"type":105,"tag":139,"props":1526,"children":1527},{"style":254},[1528],{"type":111,"value":610},{"type":105,"tag":139,"props":1530,"children":1531},{"style":167},[1532],{"type":111,"value":615},{"type":105,"tag":139,"props":1534,"children":1535},{"style":194},[1536],{"type":111,"value":1537},"SELECT * FROM posts",{"type":105,"tag":139,"props":1539,"children":1540},{"style":167},[1541],{"type":111,"value":615},{"type":105,"tag":139,"props":1543,"children":1544},{"style":254},[1545],{"type":111,"value":629},{"type":105,"tag":139,"props":1547,"children":1548},{"class":141,"line":215},[1549],{"type":105,"tag":139,"props":1550,"children":1551},{"style":167},[1552],{"type":111,"value":280},{"type":105,"tag":322,"props":1554,"children":1555},{},[],{"type":105,"tag":120,"props":1557,"children":1559},{"id":1558},"cache-profiles",[1560],{"type":111,"value":1561},"Cache Profiles",{"type":105,"tag":337,"props":1563,"children":1565},{"id":1564},"built-in-profiles",[1566],{"type":111,"value":1567},"Built-in Profiles",{"type":105,"tag":127,"props":1569,"children":1571},{"className":350,"code":1570,"language":352,"meta":132,"style":132},"'use cache'                    \u002F\u002F Default: 5m stale, 15m revalidate\n",[1572],{"type":105,"tag":135,"props":1573,"children":1574},{"__ignoreMap":132},[1575],{"type":105,"tag":139,"props":1576,"children":1577},{"class":141,"line":142},[1578,1582,1586,1590],{"type":105,"tag":139,"props":1579,"children":1580},{"style":167},[1581],{"type":111,"value":615},{"type":105,"tag":139,"props":1583,"children":1584},{"style":194},[1585],{"type":111,"value":53},{"type":105,"tag":139,"props":1587,"children":1588},{"style":167},[1589],{"type":111,"value":615},{"type":105,"tag":139,"props":1591,"children":1592},{"style":146},[1593],{"type":111,"value":1594},"                    \u002F\u002F Default: 5m stale, 15m revalidate\n",{"type":105,"tag":127,"props":1596,"children":1598},{"className":350,"code":1597,"language":352,"meta":132,"style":132},"'use cache: remote'           \u002F\u002F Platform-provided cache (Redis, KV)\n",[1599],{"type":105,"tag":135,"props":1600,"children":1601},{"__ignoreMap":132},[1602],{"type":105,"tag":139,"props":1603,"children":1604},{"class":141,"line":142},[1605,1609,1614,1618],{"type":105,"tag":139,"props":1606,"children":1607},{"style":167},[1608],{"type":111,"value":615},{"type":105,"tag":139,"props":1610,"children":1611},{"style":194},[1612],{"type":111,"value":1613},"use cache: remote",{"type":105,"tag":139,"props":1615,"children":1616},{"style":167},[1617],{"type":111,"value":615},{"type":105,"tag":139,"props":1619,"children":1620},{"style":146},[1621],{"type":111,"value":1622},"           \u002F\u002F Platform-provided cache (Redis, KV)\n",{"type":105,"tag":127,"props":1624,"children":1626},{"className":350,"code":1625,"language":352,"meta":132,"style":132},"'use cache: private'          \u002F\u002F For compliance, allows runtime APIs\n",[1627],{"type":105,"tag":135,"props":1628,"children":1629},{"__ignoreMap":132},[1630],{"type":105,"tag":139,"props":1631,"children":1632},{"class":141,"line":142},[1633,1637,1642,1646],{"type":105,"tag":139,"props":1634,"children":1635},{"style":167},[1636],{"type":111,"value":615},{"type":105,"tag":139,"props":1638,"children":1639},{"style":194},[1640],{"type":111,"value":1641},"use cache: private",{"type":105,"tag":139,"props":1643,"children":1644},{"style":167},[1645],{"type":111,"value":615},{"type":105,"tag":139,"props":1647,"children":1648},{"style":146},[1649],{"type":111,"value":1650},"          \u002F\u002F For compliance, allows runtime APIs\n",{"type":105,"tag":337,"props":1652,"children":1654},{"id":1653},"cachelife-custom-lifetime",[1655,1661],{"type":105,"tag":135,"props":1656,"children":1658},{"className":1657},[],[1659],{"type":111,"value":1660},"cacheLife()",{"type":111,"value":1662}," - Custom Lifetime",{"type":105,"tag":127,"props":1664,"children":1666},{"className":350,"code":1665,"language":352,"meta":132,"style":132},"import { cacheLife } from 'next\u002Fcache'\n\nasync function getData() {\n  'use cache'\n  cacheLife('hours')  \u002F\u002F Built-in profile\n  return fetch('\u002Fapi\u002Fdata')\n}\n",[1667],{"type":105,"tag":135,"props":1668,"children":1669},{"__ignoreMap":132},[1670,1706,1713,1736,1751,1784,1817],{"type":105,"tag":139,"props":1671,"children":1672},{"class":141,"line":142},[1673,1677,1681,1686,1690,1694,1698,1702],{"type":105,"tag":139,"props":1674,"children":1675},{"style":156},[1676],{"type":111,"value":159},{"type":105,"tag":139,"props":1678,"children":1679},{"style":167},[1680],{"type":111,"value":170},{"type":105,"tag":139,"props":1682,"children":1683},{"style":173},[1684],{"type":111,"value":1685}," cacheLife",{"type":105,"tag":139,"props":1687,"children":1688},{"style":167},[1689],{"type":111,"value":181},{"type":105,"tag":139,"props":1691,"children":1692},{"style":156},[1693],{"type":111,"value":186},{"type":105,"tag":139,"props":1695,"children":1696},{"style":167},[1697],{"type":111,"value":191},{"type":105,"tag":139,"props":1699,"children":1700},{"style":194},[1701],{"type":111,"value":48},{"type":105,"tag":139,"props":1703,"children":1704},{"style":167},[1705],{"type":111,"value":202},{"type":105,"tag":139,"props":1707,"children":1708},{"class":141,"line":152},[1709],{"type":105,"tag":139,"props":1710,"children":1711},{"emptyLinePlaceholder":209},[1712],{"type":111,"value":212},{"type":105,"tag":139,"props":1714,"children":1715},{"class":141,"line":205},[1716,1720,1724,1728,1732],{"type":105,"tag":139,"props":1717,"children":1718},{"style":219},[1719],{"type":111,"value":564},{"type":105,"tag":139,"props":1721,"children":1722},{"style":219},[1723],{"type":111,"value":372},{"type":105,"tag":139,"props":1725,"children":1726},{"style":375},[1727],{"type":111,"value":1481},{"type":105,"tag":139,"props":1729,"children":1730},{"style":167},[1731],{"type":111,"value":383},{"type":105,"tag":139,"props":1733,"children":1734},{"style":167},[1735],{"type":111,"value":247},{"type":105,"tag":139,"props":1737,"children":1738},{"class":141,"line":215},[1739,1743,1747],{"type":105,"tag":139,"props":1740,"children":1741},{"style":167},[1742],{"type":111,"value":589},{"type":105,"tag":139,"props":1744,"children":1745},{"style":194},[1746],{"type":111,"value":53},{"type":105,"tag":139,"props":1748,"children":1749},{"style":167},[1750],{"type":111,"value":202},{"type":105,"tag":139,"props":1752,"children":1753},{"class":141,"line":250},[1754,1758,1762,1766,1770,1774,1779],{"type":105,"tag":139,"props":1755,"children":1756},{"style":375},[1757],{"type":111,"value":605},{"type":105,"tag":139,"props":1759,"children":1760},{"style":254},[1761],{"type":111,"value":610},{"type":105,"tag":139,"props":1763,"children":1764},{"style":167},[1765],{"type":111,"value":615},{"type":105,"tag":139,"props":1767,"children":1768},{"style":194},[1769],{"type":111,"value":620},{"type":105,"tag":139,"props":1771,"children":1772},{"style":167},[1773],{"type":111,"value":615},{"type":105,"tag":139,"props":1775,"children":1776},{"style":254},[1777],{"type":111,"value":1778},")  ",{"type":105,"tag":139,"props":1780,"children":1781},{"style":146},[1782],{"type":111,"value":1783},"\u002F\u002F Built-in profile\n",{"type":105,"tag":139,"props":1785,"children":1786},{"class":141,"line":37},[1787,1791,1796,1800,1804,1809,1813],{"type":105,"tag":139,"props":1788,"children":1789},{"style":156},[1790],{"type":111,"value":395},{"type":105,"tag":139,"props":1792,"children":1793},{"style":375},[1794],{"type":111,"value":1795}," fetch",{"type":105,"tag":139,"props":1797,"children":1798},{"style":254},[1799],{"type":111,"value":610},{"type":105,"tag":139,"props":1801,"children":1802},{"style":167},[1803],{"type":111,"value":615},{"type":105,"tag":139,"props":1805,"children":1806},{"style":194},[1807],{"type":111,"value":1808},"\u002Fapi\u002Fdata",{"type":105,"tag":139,"props":1810,"children":1811},{"style":167},[1812],{"type":111,"value":615},{"type":105,"tag":139,"props":1814,"children":1815},{"style":254},[1816],{"type":111,"value":629},{"type":105,"tag":139,"props":1818,"children":1819},{"class":141,"line":283},[1820],{"type":105,"tag":139,"props":1821,"children":1822},{"style":167},[1823],{"type":111,"value":280},{"type":105,"tag":114,"props":1825,"children":1826},{},[1827,1829,1835,1837,1843,1844,1850,1851,1857,1858,1864,1865],{"type":111,"value":1828},"Built-in profiles: ",{"type":105,"tag":135,"props":1830,"children":1832},{"className":1831},[],[1833],{"type":111,"value":1834},"'default'",{"type":111,"value":1836},", ",{"type":105,"tag":135,"props":1838,"children":1840},{"className":1839},[],[1841],{"type":111,"value":1842},"'minutes'",{"type":111,"value":1836},{"type":105,"tag":135,"props":1845,"children":1847},{"className":1846},[],[1848],{"type":111,"value":1849},"'hours'",{"type":111,"value":1836},{"type":105,"tag":135,"props":1852,"children":1854},{"className":1853},[],[1855],{"type":111,"value":1856},"'days'",{"type":111,"value":1836},{"type":105,"tag":135,"props":1859,"children":1861},{"className":1860},[],[1862],{"type":111,"value":1863},"'weeks'",{"type":111,"value":1836},{"type":105,"tag":135,"props":1866,"children":1868},{"className":1867},[],[1869],{"type":111,"value":1870},"'max'",{"type":105,"tag":337,"props":1872,"children":1874},{"id":1873},"inline-configuration",[1875],{"type":111,"value":1876},"Inline Configuration",{"type":105,"tag":127,"props":1878,"children":1880},{"className":350,"code":1879,"language":352,"meta":132,"style":132},"async function getData() {\n  'use cache'\n  cacheLife({\n    stale: 3600,      \u002F\u002F 1 hour - serve stale while revalidating\n    revalidate: 7200, \u002F\u002F 2 hours - background revalidation interval\n    expire: 86400,    \u002F\u002F 1 day - hard expiration\n  })\n  return fetch('\u002Fapi\u002Fdata')\n}\n",[1881],{"type":105,"tag":135,"props":1882,"children":1883},{"__ignoreMap":132},[1884,1907,1922,1938,1966,1992,2018,2030,2061],{"type":105,"tag":139,"props":1885,"children":1886},{"class":141,"line":142},[1887,1891,1895,1899,1903],{"type":105,"tag":139,"props":1888,"children":1889},{"style":219},[1890],{"type":111,"value":564},{"type":105,"tag":139,"props":1892,"children":1893},{"style":219},[1894],{"type":111,"value":372},{"type":105,"tag":139,"props":1896,"children":1897},{"style":375},[1898],{"type":111,"value":1481},{"type":105,"tag":139,"props":1900,"children":1901},{"style":167},[1902],{"type":111,"value":383},{"type":105,"tag":139,"props":1904,"children":1905},{"style":167},[1906],{"type":111,"value":247},{"type":105,"tag":139,"props":1908,"children":1909},{"class":141,"line":152},[1910,1914,1918],{"type":105,"tag":139,"props":1911,"children":1912},{"style":167},[1913],{"type":111,"value":589},{"type":105,"tag":139,"props":1915,"children":1916},{"style":194},[1917],{"type":111,"value":53},{"type":105,"tag":139,"props":1919,"children":1920},{"style":167},[1921],{"type":111,"value":202},{"type":105,"tag":139,"props":1923,"children":1924},{"class":141,"line":205},[1925,1929,1933],{"type":105,"tag":139,"props":1926,"children":1927},{"style":375},[1928],{"type":111,"value":605},{"type":105,"tag":139,"props":1930,"children":1931},{"style":254},[1932],{"type":111,"value":610},{"type":105,"tag":139,"props":1934,"children":1935},{"style":167},[1936],{"type":111,"value":1937},"{\n",{"type":105,"tag":139,"props":1939,"children":1940},{"class":141,"line":215},[1941,1946,1950,1956,1961],{"type":105,"tag":139,"props":1942,"children":1943},{"style":254},[1944],{"type":111,"value":1945},"    stale",{"type":105,"tag":139,"props":1947,"children":1948},{"style":167},[1949],{"type":111,"value":232},{"type":105,"tag":139,"props":1951,"children":1953},{"style":1952},"--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C",[1954],{"type":111,"value":1955}," 3600",{"type":105,"tag":139,"props":1957,"children":1958},{"style":167},[1959],{"type":111,"value":1960},",",{"type":105,"tag":139,"props":1962,"children":1963},{"style":146},[1964],{"type":111,"value":1965},"      \u002F\u002F 1 hour - serve stale while revalidating\n",{"type":105,"tag":139,"props":1967,"children":1968},{"class":141,"line":250},[1969,1974,1978,1983,1987],{"type":105,"tag":139,"props":1970,"children":1971},{"style":254},[1972],{"type":111,"value":1973},"    revalidate",{"type":105,"tag":139,"props":1975,"children":1976},{"style":167},[1977],{"type":111,"value":232},{"type":105,"tag":139,"props":1979,"children":1980},{"style":1952},[1981],{"type":111,"value":1982}," 7200",{"type":105,"tag":139,"props":1984,"children":1985},{"style":167},[1986],{"type":111,"value":1960},{"type":105,"tag":139,"props":1988,"children":1989},{"style":146},[1990],{"type":111,"value":1991}," \u002F\u002F 2 hours - background revalidation interval\n",{"type":105,"tag":139,"props":1993,"children":1994},{"class":141,"line":37},[1995,2000,2004,2009,2013],{"type":105,"tag":139,"props":1996,"children":1997},{"style":254},[1998],{"type":111,"value":1999},"    expire",{"type":105,"tag":139,"props":2001,"children":2002},{"style":167},[2003],{"type":111,"value":232},{"type":105,"tag":139,"props":2005,"children":2006},{"style":1952},[2007],{"type":111,"value":2008}," 86400",{"type":105,"tag":139,"props":2010,"children":2011},{"style":167},[2012],{"type":111,"value":1960},{"type":105,"tag":139,"props":2014,"children":2015},{"style":146},[2016],{"type":111,"value":2017},"    \u002F\u002F 1 day - hard expiration\n",{"type":105,"tag":139,"props":2019,"children":2020},{"class":141,"line":283},[2021,2026],{"type":105,"tag":139,"props":2022,"children":2023},{"style":167},[2024],{"type":111,"value":2025},"  }",{"type":105,"tag":139,"props":2027,"children":2028},{"style":254},[2029],{"type":111,"value":629},{"type":105,"tag":139,"props":2031,"children":2032},{"class":141,"line":291},[2033,2037,2041,2045,2049,2053,2057],{"type":105,"tag":139,"props":2034,"children":2035},{"style":156},[2036],{"type":111,"value":395},{"type":105,"tag":139,"props":2038,"children":2039},{"style":375},[2040],{"type":111,"value":1795},{"type":105,"tag":139,"props":2042,"children":2043},{"style":254},[2044],{"type":111,"value":610},{"type":105,"tag":139,"props":2046,"children":2047},{"style":167},[2048],{"type":111,"value":615},{"type":105,"tag":139,"props":2050,"children":2051},{"style":194},[2052],{"type":111,"value":1808},{"type":105,"tag":139,"props":2054,"children":2055},{"style":167},[2056],{"type":111,"value":615},{"type":105,"tag":139,"props":2058,"children":2059},{"style":254},[2060],{"type":111,"value":629},{"type":105,"tag":139,"props":2062,"children":2063},{"class":141,"line":925},[2064],{"type":105,"tag":139,"props":2065,"children":2066},{"style":167},[2067],{"type":111,"value":280},{"type":105,"tag":322,"props":2069,"children":2070},{},[],{"type":105,"tag":120,"props":2072,"children":2074},{"id":2073},"cache-invalidation",[2075],{"type":111,"value":2076},"Cache Invalidation",{"type":105,"tag":337,"props":2078,"children":2080},{"id":2079},"cachetag-tag-cached-content",[2081,2087],{"type":105,"tag":135,"props":2082,"children":2084},{"className":2083},[],[2085],{"type":111,"value":2086},"cacheTag()",{"type":111,"value":2088}," - Tag Cached Content",{"type":105,"tag":127,"props":2090,"children":2092},{"className":350,"code":2091,"language":352,"meta":132,"style":132},"import { cacheTag } from 'next\u002Fcache'\n\nasync function getProducts() {\n  'use cache'\n  cacheTag('products')\n  return db.products.findMany()\n}\n\nasync function getProduct(id: string) {\n  'use cache'\n  cacheTag('products', `product-${id}`)\n  return db.products.findUnique({ where: { id } })\n}\n",[2093],{"type":105,"tag":135,"props":2094,"children":2095},{"__ignoreMap":132},[2096,2132,2139,2163,2178,2207,2238,2245,2252,2295,2310,2365,2431],{"type":105,"tag":139,"props":2097,"children":2098},{"class":141,"line":142},[2099,2103,2107,2112,2116,2120,2124,2128],{"type":105,"tag":139,"props":2100,"children":2101},{"style":156},[2102],{"type":111,"value":159},{"type":105,"tag":139,"props":2104,"children":2105},{"style":167},[2106],{"type":111,"value":170},{"type":105,"tag":139,"props":2108,"children":2109},{"style":173},[2110],{"type":111,"value":2111}," cacheTag",{"type":105,"tag":139,"props":2113,"children":2114},{"style":167},[2115],{"type":111,"value":181},{"type":105,"tag":139,"props":2117,"children":2118},{"style":156},[2119],{"type":111,"value":186},{"type":105,"tag":139,"props":2121,"children":2122},{"style":167},[2123],{"type":111,"value":191},{"type":105,"tag":139,"props":2125,"children":2126},{"style":194},[2127],{"type":111,"value":48},{"type":105,"tag":139,"props":2129,"children":2130},{"style":167},[2131],{"type":111,"value":202},{"type":105,"tag":139,"props":2133,"children":2134},{"class":141,"line":152},[2135],{"type":105,"tag":139,"props":2136,"children":2137},{"emptyLinePlaceholder":209},[2138],{"type":111,"value":212},{"type":105,"tag":139,"props":2140,"children":2141},{"class":141,"line":205},[2142,2146,2150,2155,2159],{"type":105,"tag":139,"props":2143,"children":2144},{"style":219},[2145],{"type":111,"value":564},{"type":105,"tag":139,"props":2147,"children":2148},{"style":219},[2149],{"type":111,"value":372},{"type":105,"tag":139,"props":2151,"children":2152},{"style":375},[2153],{"type":111,"value":2154}," getProducts",{"type":105,"tag":139,"props":2156,"children":2157},{"style":167},[2158],{"type":111,"value":383},{"type":105,"tag":139,"props":2160,"children":2161},{"style":167},[2162],{"type":111,"value":247},{"type":105,"tag":139,"props":2164,"children":2165},{"class":141,"line":215},[2166,2170,2174],{"type":105,"tag":139,"props":2167,"children":2168},{"style":167},[2169],{"type":111,"value":589},{"type":105,"tag":139,"props":2171,"children":2172},{"style":194},[2173],{"type":111,"value":53},{"type":105,"tag":139,"props":2175,"children":2176},{"style":167},[2177],{"type":111,"value":202},{"type":105,"tag":139,"props":2179,"children":2180},{"class":141,"line":250},[2181,2186,2190,2194,2199,2203],{"type":105,"tag":139,"props":2182,"children":2183},{"style":375},[2184],{"type":111,"value":2185},"  cacheTag",{"type":105,"tag":139,"props":2187,"children":2188},{"style":254},[2189],{"type":111,"value":610},{"type":105,"tag":139,"props":2191,"children":2192},{"style":167},[2193],{"type":111,"value":615},{"type":105,"tag":139,"props":2195,"children":2196},{"style":194},[2197],{"type":111,"value":2198},"products",{"type":105,"tag":139,"props":2200,"children":2201},{"style":167},[2202],{"type":111,"value":615},{"type":105,"tag":139,"props":2204,"children":2205},{"style":254},[2206],{"type":111,"value":629},{"type":105,"tag":139,"props":2208,"children":2209},{"class":141,"line":37},[2210,2214,2218,2222,2226,2230,2234],{"type":105,"tag":139,"props":2211,"children":2212},{"style":156},[2213],{"type":111,"value":395},{"type":105,"tag":139,"props":2215,"children":2216},{"style":173},[2217],{"type":111,"value":663},{"type":105,"tag":139,"props":2219,"children":2220},{"style":167},[2221],{"type":111,"value":668},{"type":105,"tag":139,"props":2223,"children":2224},{"style":173},[2225],{"type":111,"value":2198},{"type":105,"tag":139,"props":2227,"children":2228},{"style":167},[2229],{"type":111,"value":668},{"type":105,"tag":139,"props":2231,"children":2232},{"style":375},[2233],{"type":111,"value":682},{"type":105,"tag":139,"props":2235,"children":2236},{"style":254},[2237],{"type":111,"value":687},{"type":105,"tag":139,"props":2239,"children":2240},{"class":141,"line":283},[2241],{"type":105,"tag":139,"props":2242,"children":2243},{"style":167},[2244],{"type":111,"value":280},{"type":105,"tag":139,"props":2246,"children":2247},{"class":141,"line":291},[2248],{"type":105,"tag":139,"props":2249,"children":2250},{"emptyLinePlaceholder":209},[2251],{"type":111,"value":212},{"type":105,"tag":139,"props":2253,"children":2254},{"class":141,"line":925},[2255,2259,2263,2268,2272,2278,2282,2287,2291],{"type":105,"tag":139,"props":2256,"children":2257},{"style":219},[2258],{"type":111,"value":564},{"type":105,"tag":139,"props":2260,"children":2261},{"style":219},[2262],{"type":111,"value":372},{"type":105,"tag":139,"props":2264,"children":2265},{"style":375},[2266],{"type":111,"value":2267}," getProduct",{"type":105,"tag":139,"props":2269,"children":2270},{"style":167},[2271],{"type":111,"value":610},{"type":105,"tag":139,"props":2273,"children":2275},{"style":2274},"--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#EEFFFF;--shiki-default-font-style:italic;--shiki-dark:#BABED8;--shiki-dark-font-style:italic",[2276],{"type":111,"value":2277},"id",{"type":105,"tag":139,"props":2279,"children":2280},{"style":167},[2281],{"type":111,"value":232},{"type":105,"tag":139,"props":2283,"children":2284},{"style":235},[2285],{"type":111,"value":2286}," string",{"type":105,"tag":139,"props":2288,"children":2289},{"style":167},[2290],{"type":111,"value":544},{"type":105,"tag":139,"props":2292,"children":2293},{"style":167},[2294],{"type":111,"value":247},{"type":105,"tag":139,"props":2296,"children":2297},{"class":141,"line":956},[2298,2302,2306],{"type":105,"tag":139,"props":2299,"children":2300},{"style":167},[2301],{"type":111,"value":589},{"type":105,"tag":139,"props":2303,"children":2304},{"style":194},[2305],{"type":111,"value":53},{"type":105,"tag":139,"props":2307,"children":2308},{"style":167},[2309],{"type":111,"value":202},{"type":105,"tag":139,"props":2311,"children":2312},{"class":141,"line":973},[2313,2317,2321,2325,2329,2333,2337,2342,2347,2352,2356,2361],{"type":105,"tag":139,"props":2314,"children":2315},{"style":375},[2316],{"type":111,"value":2185},{"type":105,"tag":139,"props":2318,"children":2319},{"style":254},[2320],{"type":111,"value":610},{"type":105,"tag":139,"props":2322,"children":2323},{"style":167},[2324],{"type":111,"value":615},{"type":105,"tag":139,"props":2326,"children":2327},{"style":194},[2328],{"type":111,"value":2198},{"type":105,"tag":139,"props":2330,"children":2331},{"style":167},[2332],{"type":111,"value":615},{"type":105,"tag":139,"props":2334,"children":2335},{"style":167},[2336],{"type":111,"value":1960},{"type":105,"tag":139,"props":2338,"children":2339},{"style":167},[2340],{"type":111,"value":2341}," `",{"type":105,"tag":139,"props":2343,"children":2344},{"style":194},[2345],{"type":111,"value":2346},"product-",{"type":105,"tag":139,"props":2348,"children":2349},{"style":167},[2350],{"type":111,"value":2351},"${",{"type":105,"tag":139,"props":2353,"children":2354},{"style":173},[2355],{"type":111,"value":2277},{"type":105,"tag":139,"props":2357,"children":2358},{"style":167},[2359],{"type":111,"value":2360},"}`",{"type":105,"tag":139,"props":2362,"children":2363},{"style":254},[2364],{"type":111,"value":629},{"type":105,"tag":139,"props":2366,"children":2367},{"class":141,"line":982},[2368,2372,2376,2380,2384,2388,2393,2397,2401,2406,2410,2414,2419,2423,2427],{"type":105,"tag":139,"props":2369,"children":2370},{"style":156},[2371],{"type":111,"value":395},{"type":105,"tag":139,"props":2373,"children":2374},{"style":173},[2375],{"type":111,"value":663},{"type":105,"tag":139,"props":2377,"children":2378},{"style":167},[2379],{"type":111,"value":668},{"type":105,"tag":139,"props":2381,"children":2382},{"style":173},[2383],{"type":111,"value":2198},{"type":105,"tag":139,"props":2385,"children":2386},{"style":167},[2387],{"type":111,"value":668},{"type":105,"tag":139,"props":2389,"children":2390},{"style":375},[2391],{"type":111,"value":2392},"findUnique",{"type":105,"tag":139,"props":2394,"children":2395},{"style":254},[2396],{"type":111,"value":610},{"type":105,"tag":139,"props":2398,"children":2399},{"style":167},[2400],{"type":111,"value":1135},{"type":105,"tag":139,"props":2402,"children":2403},{"style":254},[2404],{"type":111,"value":2405}," where",{"type":105,"tag":139,"props":2407,"children":2408},{"style":167},[2409],{"type":111,"value":232},{"type":105,"tag":139,"props":2411,"children":2412},{"style":167},[2413],{"type":111,"value":170},{"type":105,"tag":139,"props":2415,"children":2416},{"style":173},[2417],{"type":111,"value":2418}," id",{"type":105,"tag":139,"props":2420,"children":2421},{"style":167},[2422],{"type":111,"value":181},{"type":105,"tag":139,"props":2424,"children":2425},{"style":167},[2426],{"type":111,"value":181},{"type":105,"tag":139,"props":2428,"children":2429},{"style":254},[2430],{"type":111,"value":629},{"type":105,"tag":139,"props":2432,"children":2433},{"class":141,"line":990},[2434],{"type":105,"tag":139,"props":2435,"children":2436},{"style":167},[2437],{"type":111,"value":280},{"type":105,"tag":337,"props":2439,"children":2441},{"id":2440},"updatetag-immediate-invalidation",[2442,2448],{"type":105,"tag":135,"props":2443,"children":2445},{"className":2444},[],[2446],{"type":111,"value":2447},"updateTag()",{"type":111,"value":2449}," - Immediate Invalidation",{"type":105,"tag":114,"props":2451,"children":2452},{},[2453],{"type":111,"value":2454},"Use when you need the cache refreshed within the same request:",{"type":105,"tag":127,"props":2456,"children":2458},{"className":350,"code":2457,"language":352,"meta":132,"style":132},"'use server'\n\nimport { updateTag } from 'next\u002Fcache'\n\nexport async function updateProduct(id: string, data: FormData) {\n  await db.products.update({ where: { id }, data })\n  updateTag(`product-${id}`)  \u002F\u002F Immediate - same request sees fresh data\n}\n",[2459],{"type":105,"tag":135,"props":2460,"children":2461},{"__ignoreMap":132},[2462,2478,2485,2521,2528,2589,2659,2701],{"type":105,"tag":139,"props":2463,"children":2464},{"class":141,"line":142},[2465,2469,2474],{"type":105,"tag":139,"props":2466,"children":2467},{"style":167},[2468],{"type":111,"value":615},{"type":105,"tag":139,"props":2470,"children":2471},{"style":194},[2472],{"type":111,"value":2473},"use server",{"type":105,"tag":139,"props":2475,"children":2476},{"style":167},[2477],{"type":111,"value":202},{"type":105,"tag":139,"props":2479,"children":2480},{"class":141,"line":152},[2481],{"type":105,"tag":139,"props":2482,"children":2483},{"emptyLinePlaceholder":209},[2484],{"type":111,"value":212},{"type":105,"tag":139,"props":2486,"children":2487},{"class":141,"line":205},[2488,2492,2496,2501,2505,2509,2513,2517],{"type":105,"tag":139,"props":2489,"children":2490},{"style":156},[2491],{"type":111,"value":159},{"type":105,"tag":139,"props":2493,"children":2494},{"style":167},[2495],{"type":111,"value":170},{"type":105,"tag":139,"props":2497,"children":2498},{"style":173},[2499],{"type":111,"value":2500}," updateTag",{"type":105,"tag":139,"props":2502,"children":2503},{"style":167},[2504],{"type":111,"value":181},{"type":105,"tag":139,"props":2506,"children":2507},{"style":156},[2508],{"type":111,"value":186},{"type":105,"tag":139,"props":2510,"children":2511},{"style":167},[2512],{"type":111,"value":191},{"type":105,"tag":139,"props":2514,"children":2515},{"style":194},[2516],{"type":111,"value":48},{"type":105,"tag":139,"props":2518,"children":2519},{"style":167},[2520],{"type":111,"value":202},{"type":105,"tag":139,"props":2522,"children":2523},{"class":141,"line":215},[2524],{"type":105,"tag":139,"props":2525,"children":2526},{"emptyLinePlaceholder":209},[2527],{"type":111,"value":212},{"type":105,"tag":139,"props":2529,"children":2530},{"class":141,"line":250},[2531,2535,2539,2543,2548,2552,2556,2560,2564,2568,2572,2576,2581,2585],{"type":105,"tag":139,"props":2532,"children":2533},{"style":156},[2534],{"type":111,"value":297},{"type":105,"tag":139,"props":2536,"children":2537},{"style":219},[2538],{"type":111,"value":1225},{"type":105,"tag":139,"props":2540,"children":2541},{"style":219},[2542],{"type":111,"value":372},{"type":105,"tag":139,"props":2544,"children":2545},{"style":375},[2546],{"type":111,"value":2547}," updateProduct",{"type":105,"tag":139,"props":2549,"children":2550},{"style":167},[2551],{"type":111,"value":610},{"type":105,"tag":139,"props":2553,"children":2554},{"style":2274},[2555],{"type":111,"value":2277},{"type":105,"tag":139,"props":2557,"children":2558},{"style":167},[2559],{"type":111,"value":232},{"type":105,"tag":139,"props":2561,"children":2562},{"style":235},[2563],{"type":111,"value":2286},{"type":105,"tag":139,"props":2565,"children":2566},{"style":167},[2567],{"type":111,"value":1960},{"type":105,"tag":139,"props":2569,"children":2570},{"style":2274},[2571],{"type":111,"value":1261},{"type":105,"tag":139,"props":2573,"children":2574},{"style":167},[2575],{"type":111,"value":232},{"type":105,"tag":139,"props":2577,"children":2578},{"style":235},[2579],{"type":111,"value":2580}," FormData",{"type":105,"tag":139,"props":2582,"children":2583},{"style":167},[2584],{"type":111,"value":544},{"type":105,"tag":139,"props":2586,"children":2587},{"style":167},[2588],{"type":111,"value":247},{"type":105,"tag":139,"props":2590,"children":2591},{"class":141,"line":37},[2592,2597,2601,2605,2609,2613,2618,2622,2626,2630,2634,2638,2642,2647,2651,2655],{"type":105,"tag":139,"props":2593,"children":2594},{"style":156},[2595],{"type":111,"value":2596},"  await",{"type":105,"tag":139,"props":2598,"children":2599},{"style":173},[2600],{"type":111,"value":663},{"type":105,"tag":139,"props":2602,"children":2603},{"style":167},[2604],{"type":111,"value":668},{"type":105,"tag":139,"props":2606,"children":2607},{"style":173},[2608],{"type":111,"value":2198},{"type":105,"tag":139,"props":2610,"children":2611},{"style":167},[2612],{"type":111,"value":668},{"type":105,"tag":139,"props":2614,"children":2615},{"style":375},[2616],{"type":111,"value":2617},"update",{"type":105,"tag":139,"props":2619,"children":2620},{"style":254},[2621],{"type":111,"value":610},{"type":105,"tag":139,"props":2623,"children":2624},{"style":167},[2625],{"type":111,"value":1135},{"type":105,"tag":139,"props":2627,"children":2628},{"style":254},[2629],{"type":111,"value":2405},{"type":105,"tag":139,"props":2631,"children":2632},{"style":167},[2633],{"type":111,"value":232},{"type":105,"tag":139,"props":2635,"children":2636},{"style":167},[2637],{"type":111,"value":170},{"type":105,"tag":139,"props":2639,"children":2640},{"style":173},[2641],{"type":111,"value":2418},{"type":105,"tag":139,"props":2643,"children":2644},{"style":167},[2645],{"type":111,"value":2646}," },",{"type":105,"tag":139,"props":2648,"children":2649},{"style":173},[2650],{"type":111,"value":1261},{"type":105,"tag":139,"props":2652,"children":2653},{"style":167},[2654],{"type":111,"value":181},{"type":105,"tag":139,"props":2656,"children":2657},{"style":254},[2658],{"type":111,"value":629},{"type":105,"tag":139,"props":2660,"children":2661},{"class":141,"line":283},[2662,2667,2671,2676,2680,2684,2688,2692,2696],{"type":105,"tag":139,"props":2663,"children":2664},{"style":375},[2665],{"type":111,"value":2666},"  updateTag",{"type":105,"tag":139,"props":2668,"children":2669},{"style":254},[2670],{"type":111,"value":610},{"type":105,"tag":139,"props":2672,"children":2673},{"style":167},[2674],{"type":111,"value":2675},"`",{"type":105,"tag":139,"props":2677,"children":2678},{"style":194},[2679],{"type":111,"value":2346},{"type":105,"tag":139,"props":2681,"children":2682},{"style":167},[2683],{"type":111,"value":2351},{"type":105,"tag":139,"props":2685,"children":2686},{"style":173},[2687],{"type":111,"value":2277},{"type":105,"tag":139,"props":2689,"children":2690},{"style":167},[2691],{"type":111,"value":2360},{"type":105,"tag":139,"props":2693,"children":2694},{"style":254},[2695],{"type":111,"value":1778},{"type":105,"tag":139,"props":2697,"children":2698},{"style":146},[2699],{"type":111,"value":2700},"\u002F\u002F Immediate - same request sees fresh data\n",{"type":105,"tag":139,"props":2702,"children":2703},{"class":141,"line":291},[2704],{"type":105,"tag":139,"props":2705,"children":2706},{"style":167},[2707],{"type":111,"value":280},{"type":105,"tag":337,"props":2709,"children":2711},{"id":2710},"revalidatetag-background-revalidation",[2712,2718],{"type":105,"tag":135,"props":2713,"children":2715},{"className":2714},[],[2716],{"type":111,"value":2717},"revalidateTag()",{"type":111,"value":2719}," - Background Revalidation",{"type":105,"tag":114,"props":2721,"children":2722},{},[2723],{"type":111,"value":2724},"Use for stale-while-revalidate behavior:",{"type":105,"tag":127,"props":2726,"children":2728},{"className":350,"code":2727,"language":352,"meta":132,"style":132},"'use server'\n\nimport { revalidateTag } from 'next\u002Fcache'\n\nexport async function createPost(data: FormData) {\n  await db.posts.create({ data })\n  revalidateTag('posts')  \u002F\u002F Background - next request sees fresh data\n}\n",[2729],{"type":105,"tag":135,"props":2730,"children":2731},{"__ignoreMap":132},[2732,2747,2754,2790,2797,2841,2889,2922],{"type":105,"tag":139,"props":2733,"children":2734},{"class":141,"line":142},[2735,2739,2743],{"type":105,"tag":139,"props":2736,"children":2737},{"style":167},[2738],{"type":111,"value":615},{"type":105,"tag":139,"props":2740,"children":2741},{"style":194},[2742],{"type":111,"value":2473},{"type":105,"tag":139,"props":2744,"children":2745},{"style":167},[2746],{"type":111,"value":202},{"type":105,"tag":139,"props":2748,"children":2749},{"class":141,"line":152},[2750],{"type":105,"tag":139,"props":2751,"children":2752},{"emptyLinePlaceholder":209},[2753],{"type":111,"value":212},{"type":105,"tag":139,"props":2755,"children":2756},{"class":141,"line":205},[2757,2761,2765,2770,2774,2778,2782,2786],{"type":105,"tag":139,"props":2758,"children":2759},{"style":156},[2760],{"type":111,"value":159},{"type":105,"tag":139,"props":2762,"children":2763},{"style":167},[2764],{"type":111,"value":170},{"type":105,"tag":139,"props":2766,"children":2767},{"style":173},[2768],{"type":111,"value":2769}," revalidateTag",{"type":105,"tag":139,"props":2771,"children":2772},{"style":167},[2773],{"type":111,"value":181},{"type":105,"tag":139,"props":2775,"children":2776},{"style":156},[2777],{"type":111,"value":186},{"type":105,"tag":139,"props":2779,"children":2780},{"style":167},[2781],{"type":111,"value":191},{"type":105,"tag":139,"props":2783,"children":2784},{"style":194},[2785],{"type":111,"value":48},{"type":105,"tag":139,"props":2787,"children":2788},{"style":167},[2789],{"type":111,"value":202},{"type":105,"tag":139,"props":2791,"children":2792},{"class":141,"line":215},[2793],{"type":105,"tag":139,"props":2794,"children":2795},{"emptyLinePlaceholder":209},[2796],{"type":111,"value":212},{"type":105,"tag":139,"props":2798,"children":2799},{"class":141,"line":250},[2800,2804,2808,2812,2817,2821,2825,2829,2833,2837],{"type":105,"tag":139,"props":2801,"children":2802},{"style":156},[2803],{"type":111,"value":297},{"type":105,"tag":139,"props":2805,"children":2806},{"style":219},[2807],{"type":111,"value":1225},{"type":105,"tag":139,"props":2809,"children":2810},{"style":219},[2811],{"type":111,"value":372},{"type":105,"tag":139,"props":2813,"children":2814},{"style":375},[2815],{"type":111,"value":2816}," createPost",{"type":105,"tag":139,"props":2818,"children":2819},{"style":167},[2820],{"type":111,"value":610},{"type":105,"tag":139,"props":2822,"children":2823},{"style":2274},[2824],{"type":111,"value":1304},{"type":105,"tag":139,"props":2826,"children":2827},{"style":167},[2828],{"type":111,"value":232},{"type":105,"tag":139,"props":2830,"children":2831},{"style":235},[2832],{"type":111,"value":2580},{"type":105,"tag":139,"props":2834,"children":2835},{"style":167},[2836],{"type":111,"value":544},{"type":105,"tag":139,"props":2838,"children":2839},{"style":167},[2840],{"type":111,"value":247},{"type":105,"tag":139,"props":2842,"children":2843},{"class":141,"line":37},[2844,2848,2852,2856,2860,2864,2869,2873,2877,2881,2885],{"type":105,"tag":139,"props":2845,"children":2846},{"style":156},[2847],{"type":111,"value":2596},{"type":105,"tag":139,"props":2849,"children":2850},{"style":173},[2851],{"type":111,"value":663},{"type":105,"tag":139,"props":2853,"children":2854},{"style":167},[2855],{"type":111,"value":668},{"type":105,"tag":139,"props":2857,"children":2858},{"style":173},[2859],{"type":111,"value":673},{"type":105,"tag":139,"props":2861,"children":2862},{"style":167},[2863],{"type":111,"value":668},{"type":105,"tag":139,"props":2865,"children":2866},{"style":375},[2867],{"type":111,"value":2868},"create",{"type":105,"tag":139,"props":2870,"children":2871},{"style":254},[2872],{"type":111,"value":610},{"type":105,"tag":139,"props":2874,"children":2875},{"style":167},[2876],{"type":111,"value":1135},{"type":105,"tag":139,"props":2878,"children":2879},{"style":173},[2880],{"type":111,"value":1261},{"type":105,"tag":139,"props":2882,"children":2883},{"style":167},[2884],{"type":111,"value":181},{"type":105,"tag":139,"props":2886,"children":2887},{"style":254},[2888],{"type":111,"value":629},{"type":105,"tag":139,"props":2890,"children":2891},{"class":141,"line":283},[2892,2897,2901,2905,2909,2913,2917],{"type":105,"tag":139,"props":2893,"children":2894},{"style":375},[2895],{"type":111,"value":2896},"  revalidateTag",{"type":105,"tag":139,"props":2898,"children":2899},{"style":254},[2900],{"type":111,"value":610},{"type":105,"tag":139,"props":2902,"children":2903},{"style":167},[2904],{"type":111,"value":615},{"type":105,"tag":139,"props":2906,"children":2907},{"style":194},[2908],{"type":111,"value":673},{"type":105,"tag":139,"props":2910,"children":2911},{"style":167},[2912],{"type":111,"value":615},{"type":105,"tag":139,"props":2914,"children":2915},{"style":254},[2916],{"type":111,"value":1778},{"type":105,"tag":139,"props":2918,"children":2919},{"style":146},[2920],{"type":111,"value":2921},"\u002F\u002F Background - next request sees fresh data\n",{"type":105,"tag":139,"props":2923,"children":2924},{"class":141,"line":291},[2925],{"type":105,"tag":139,"props":2926,"children":2927},{"style":167},[2928],{"type":111,"value":280},{"type":105,"tag":322,"props":2930,"children":2931},{},[],{"type":105,"tag":120,"props":2933,"children":2935},{"id":2934},"runtime-data-constraint",[2936],{"type":111,"value":2937},"Runtime Data Constraint",{"type":105,"tag":114,"props":2939,"children":2940},{},[2941,2947,2949,2955,2956,2962,2964,2970,2972,2977],{"type":105,"tag":2942,"props":2943,"children":2944},"strong",{},[2945],{"type":111,"value":2946},"Cannot",{"type":111,"value":2948}," access ",{"type":105,"tag":135,"props":2950,"children":2952},{"className":2951},[],[2953],{"type":111,"value":2954},"cookies()",{"type":111,"value":1836},{"type":105,"tag":135,"props":2957,"children":2959},{"className":2958},[],[2960],{"type":111,"value":2961},"headers()",{"type":111,"value":2963},", or ",{"type":105,"tag":135,"props":2965,"children":2967},{"className":2966},[],[2968],{"type":111,"value":2969},"searchParams",{"type":111,"value":2971}," inside ",{"type":105,"tag":135,"props":2973,"children":2975},{"className":2974},[],[2976],{"type":111,"value":53},{"type":111,"value":668},{"type":105,"tag":337,"props":2979,"children":2981},{"id":2980},"solution-pass-as-arguments",[2982],{"type":111,"value":2983},"Solution: Pass as Arguments",{"type":105,"tag":127,"props":2985,"children":2987},{"className":350,"code":2986,"language":352,"meta":132,"style":132},"\u002F\u002F Wrong - runtime API inside use cache\nasync function CachedProfile() {\n  'use cache'\n  const session = (await cookies()).get('session')?.value  \u002F\u002F Error!\n  return \u003Cdiv>{session}\u003C\u002Fdiv>\n}\n\n\u002F\u002F Correct - extract outside, pass as argument\nasync function ProfilePage() {\n  const session = (await cookies()).get('session')?.value\n  return \u003CCachedProfile sessionId={session} \u002F>\n}\n\nasync function CachedProfile({ sessionId }: { sessionId: string }) {\n  'use cache'\n  \u002F\u002F sessionId becomes part of cache key automatically\n  const data = await fetchUserData(sessionId)\n  return \u003Cdiv>{data.name}\u003C\u002Fdiv>\n}\n",[2988],{"type":105,"tag":135,"props":2989,"children":2990},{"__ignoreMap":132},[2991,2999,3023,3038,3113,3148,3155,3162,3170,3194,3261,3294,3301,3308,3362,3377,3385,3422,3466],{"type":105,"tag":139,"props":2992,"children":2993},{"class":141,"line":142},[2994],{"type":105,"tag":139,"props":2995,"children":2996},{"style":146},[2997],{"type":111,"value":2998},"\u002F\u002F Wrong - runtime API inside use cache\n",{"type":105,"tag":139,"props":3000,"children":3001},{"class":141,"line":152},[3002,3006,3010,3015,3019],{"type":105,"tag":139,"props":3003,"children":3004},{"style":219},[3005],{"type":111,"value":564},{"type":105,"tag":139,"props":3007,"children":3008},{"style":219},[3009],{"type":111,"value":372},{"type":105,"tag":139,"props":3011,"children":3012},{"style":375},[3013],{"type":111,"value":3014}," CachedProfile",{"type":105,"tag":139,"props":3016,"children":3017},{"style":167},[3018],{"type":111,"value":383},{"type":105,"tag":139,"props":3020,"children":3021},{"style":167},[3022],{"type":111,"value":247},{"type":105,"tag":139,"props":3024,"children":3025},{"class":141,"line":205},[3026,3030,3034],{"type":105,"tag":139,"props":3027,"children":3028},{"style":167},[3029],{"type":111,"value":589},{"type":105,"tag":139,"props":3031,"children":3032},{"style":194},[3033],{"type":111,"value":53},{"type":105,"tag":139,"props":3035,"children":3036},{"style":167},[3037],{"type":111,"value":202},{"type":105,"tag":139,"props":3039,"children":3040},{"class":141,"line":215},[3041,3045,3050,3054,3058,3062,3066,3070,3074,3078,3082,3086,3091,3095,3099,3103,3108],{"type":105,"tag":139,"props":3042,"children":3043},{"style":219},[3044],{"type":111,"value":644},{"type":105,"tag":139,"props":3046,"children":3047},{"style":173},[3048],{"type":111,"value":3049}," session",{"type":105,"tag":139,"props":3051,"children":3052},{"style":167},[3053],{"type":111,"value":242},{"type":105,"tag":139,"props":3055,"children":3056},{"style":254},[3057],{"type":111,"value":1050},{"type":105,"tag":139,"props":3059,"children":3060},{"style":156},[3061],{"type":111,"value":1055},{"type":105,"tag":139,"props":3063,"children":3064},{"style":375},[3065],{"type":111,"value":1060},{"type":105,"tag":139,"props":3067,"children":3068},{"style":254},[3069],{"type":111,"value":1065},{"type":105,"tag":139,"props":3071,"children":3072},{"style":167},[3073],{"type":111,"value":668},{"type":105,"tag":139,"props":3075,"children":3076},{"style":375},[3077],{"type":111,"value":1074},{"type":105,"tag":139,"props":3079,"children":3080},{"style":254},[3081],{"type":111,"value":610},{"type":105,"tag":139,"props":3083,"children":3084},{"style":167},[3085],{"type":111,"value":615},{"type":105,"tag":139,"props":3087,"children":3088},{"style":194},[3089],{"type":111,"value":3090},"session",{"type":105,"tag":139,"props":3092,"children":3093},{"style":167},[3094],{"type":111,"value":615},{"type":105,"tag":139,"props":3096,"children":3097},{"style":254},[3098],{"type":111,"value":544},{"type":105,"tag":139,"props":3100,"children":3101},{"style":167},[3102],{"type":111,"value":1100},{"type":105,"tag":139,"props":3104,"children":3105},{"style":173},[3106],{"type":111,"value":3107},"value",{"type":105,"tag":139,"props":3109,"children":3110},{"style":146},[3111],{"type":111,"value":3112},"  \u002F\u002F Error!\n",{"type":105,"tag":139,"props":3114,"children":3115},{"class":141,"line":250},[3116,3120,3124,3128,3132,3136,3140,3144],{"type":105,"tag":139,"props":3117,"children":3118},{"style":156},[3119],{"type":111,"value":395},{"type":105,"tag":139,"props":3121,"children":3122},{"style":167},[3123],{"type":111,"value":699},{"type":105,"tag":139,"props":3125,"children":3126},{"style":254},[3127],{"type":111,"value":1294},{"type":105,"tag":139,"props":3129,"children":3130},{"style":167},[3131],{"type":111,"value":1299},{"type":105,"tag":139,"props":3133,"children":3134},{"style":173},[3135],{"type":111,"value":3090},{"type":105,"tag":139,"props":3137,"children":3138},{"style":167},[3139],{"type":111,"value":1144},{"type":105,"tag":139,"props":3141,"children":3142},{"style":254},[3143],{"type":111,"value":1294},{"type":105,"tag":139,"props":3145,"children":3146},{"style":167},[3147],{"type":111,"value":418},{"type":105,"tag":139,"props":3149,"children":3150},{"class":141,"line":37},[3151],{"type":105,"tag":139,"props":3152,"children":3153},{"style":167},[3154],{"type":111,"value":280},{"type":105,"tag":139,"props":3156,"children":3157},{"class":141,"line":283},[3158],{"type":105,"tag":139,"props":3159,"children":3160},{"emptyLinePlaceholder":209},[3161],{"type":111,"value":212},{"type":105,"tag":139,"props":3163,"children":3164},{"class":141,"line":291},[3165],{"type":105,"tag":139,"props":3166,"children":3167},{"style":146},[3168],{"type":111,"value":3169},"\u002F\u002F Correct - extract outside, pass as argument\n",{"type":105,"tag":139,"props":3171,"children":3172},{"class":141,"line":925},[3173,3177,3181,3186,3190],{"type":105,"tag":139,"props":3174,"children":3175},{"style":219},[3176],{"type":111,"value":564},{"type":105,"tag":139,"props":3178,"children":3179},{"style":219},[3180],{"type":111,"value":372},{"type":105,"tag":139,"props":3182,"children":3183},{"style":375},[3184],{"type":111,"value":3185}," ProfilePage",{"type":105,"tag":139,"props":3187,"children":3188},{"style":167},[3189],{"type":111,"value":383},{"type":105,"tag":139,"props":3191,"children":3192},{"style":167},[3193],{"type":111,"value":247},{"type":105,"tag":139,"props":3195,"children":3196},{"class":141,"line":956},[3197,3201,3205,3209,3213,3217,3221,3225,3229,3233,3237,3241,3245,3249,3253,3257],{"type":105,"tag":139,"props":3198,"children":3199},{"style":219},[3200],{"type":111,"value":644},{"type":105,"tag":139,"props":3202,"children":3203},{"style":173},[3204],{"type":111,"value":3049},{"type":105,"tag":139,"props":3206,"children":3207},{"style":167},[3208],{"type":111,"value":242},{"type":105,"tag":139,"props":3210,"children":3211},{"style":254},[3212],{"type":111,"value":1050},{"type":105,"tag":139,"props":3214,"children":3215},{"style":156},[3216],{"type":111,"value":1055},{"type":105,"tag":139,"props":3218,"children":3219},{"style":375},[3220],{"type":111,"value":1060},{"type":105,"tag":139,"props":3222,"children":3223},{"style":254},[3224],{"type":111,"value":1065},{"type":105,"tag":139,"props":3226,"children":3227},{"style":167},[3228],{"type":111,"value":668},{"type":105,"tag":139,"props":3230,"children":3231},{"style":375},[3232],{"type":111,"value":1074},{"type":105,"tag":139,"props":3234,"children":3235},{"style":254},[3236],{"type":111,"value":610},{"type":105,"tag":139,"props":3238,"children":3239},{"style":167},[3240],{"type":111,"value":615},{"type":105,"tag":139,"props":3242,"children":3243},{"style":194},[3244],{"type":111,"value":3090},{"type":105,"tag":139,"props":3246,"children":3247},{"style":167},[3248],{"type":111,"value":615},{"type":105,"tag":139,"props":3250,"children":3251},{"style":254},[3252],{"type":111,"value":544},{"type":105,"tag":139,"props":3254,"children":3255},{"style":167},[3256],{"type":111,"value":1100},{"type":105,"tag":139,"props":3258,"children":3259},{"style":173},[3260],{"type":111,"value":1105},{"type":105,"tag":139,"props":3262,"children":3263},{"class":141,"line":973},[3264,3268,3272,3277,3282,3286,3290],{"type":105,"tag":139,"props":3265,"children":3266},{"style":156},[3267],{"type":111,"value":395},{"type":105,"tag":139,"props":3269,"children":3270},{"style":167},[3271],{"type":111,"value":699},{"type":105,"tag":139,"props":3273,"children":3274},{"style":235},[3275],{"type":111,"value":3276},"CachedProfile",{"type":105,"tag":139,"props":3278,"children":3279},{"style":219},[3280],{"type":111,"value":3281}," sessionId",{"type":105,"tag":139,"props":3283,"children":3284},{"style":167},[3285],{"type":111,"value":713},{"type":105,"tag":139,"props":3287,"children":3288},{"style":173},[3289],{"type":111,"value":3090},{"type":105,"tag":139,"props":3291,"children":3292},{"style":167},[3293],{"type":111,"value":722},{"type":105,"tag":139,"props":3295,"children":3296},{"class":141,"line":982},[3297],{"type":105,"tag":139,"props":3298,"children":3299},{"style":167},[3300],{"type":111,"value":280},{"type":105,"tag":139,"props":3302,"children":3303},{"class":141,"line":990},[3304],{"type":105,"tag":139,"props":3305,"children":3306},{"emptyLinePlaceholder":209},[3307],{"type":111,"value":212},{"type":105,"tag":139,"props":3309,"children":3310},{"class":141,"line":998},[3311,3315,3319,3323,3328,3332,3337,3341,3345,3349,3353,3358],{"type":105,"tag":139,"props":3312,"children":3313},{"style":219},[3314],{"type":111,"value":564},{"type":105,"tag":139,"props":3316,"children":3317},{"style":219},[3318],{"type":111,"value":372},{"type":105,"tag":139,"props":3320,"children":3321},{"style":375},[3322],{"type":111,"value":3014},{"type":105,"tag":139,"props":3324,"children":3325},{"style":167},[3326],{"type":111,"value":3327},"({",{"type":105,"tag":139,"props":3329,"children":3330},{"style":2274},[3331],{"type":111,"value":3281},{"type":105,"tag":139,"props":3333,"children":3334},{"style":167},[3335],{"type":111,"value":3336}," }:",{"type":105,"tag":139,"props":3338,"children":3339},{"style":167},[3340],{"type":111,"value":170},{"type":105,"tag":139,"props":3342,"children":3343},{"style":254},[3344],{"type":111,"value":3281},{"type":105,"tag":139,"props":3346,"children":3347},{"style":167},[3348],{"type":111,"value":232},{"type":105,"tag":139,"props":3350,"children":3351},{"style":235},[3352],{"type":111,"value":2286},{"type":105,"tag":139,"props":3354,"children":3355},{"style":167},[3356],{"type":111,"value":3357}," })",{"type":105,"tag":139,"props":3359,"children":3360},{"style":167},[3361],{"type":111,"value":247},{"type":105,"tag":139,"props":3363,"children":3364},{"class":141,"line":1006},[3365,3369,3373],{"type":105,"tag":139,"props":3366,"children":3367},{"style":167},[3368],{"type":111,"value":589},{"type":105,"tag":139,"props":3370,"children":3371},{"style":194},[3372],{"type":111,"value":53},{"type":105,"tag":139,"props":3374,"children":3375},{"style":167},[3376],{"type":111,"value":202},{"type":105,"tag":139,"props":3378,"children":3379},{"class":141,"line":1031},[3380],{"type":105,"tag":139,"props":3381,"children":3382},{"style":146},[3383],{"type":111,"value":3384},"  \u002F\u002F sessionId becomes part of cache key automatically\n",{"type":105,"tag":139,"props":3386,"children":3387},{"class":141,"line":1108},[3388,3392,3396,3400,3404,3409,3413,3418],{"type":105,"tag":139,"props":3389,"children":3390},{"style":219},[3391],{"type":111,"value":644},{"type":105,"tag":139,"props":3393,"children":3394},{"style":173},[3395],{"type":111,"value":1261},{"type":105,"tag":139,"props":3397,"children":3398},{"style":167},[3399],{"type":111,"value":242},{"type":105,"tag":139,"props":3401,"children":3402},{"style":156},[3403],{"type":111,"value":658},{"type":105,"tag":139,"props":3405,"children":3406},{"style":375},[3407],{"type":111,"value":3408}," fetchUserData",{"type":105,"tag":139,"props":3410,"children":3411},{"style":254},[3412],{"type":111,"value":610},{"type":105,"tag":139,"props":3414,"children":3415},{"style":173},[3416],{"type":111,"value":3417},"sessionId",{"type":105,"tag":139,"props":3419,"children":3420},{"style":254},[3421],{"type":111,"value":629},{"type":105,"tag":139,"props":3423,"children":3424},{"class":141,"line":1155},[3425,3429,3433,3437,3441,3445,3449,3454,3458,3462],{"type":105,"tag":139,"props":3426,"children":3427},{"style":156},[3428],{"type":111,"value":395},{"type":105,"tag":139,"props":3430,"children":3431},{"style":167},[3432],{"type":111,"value":699},{"type":105,"tag":139,"props":3434,"children":3435},{"style":254},[3436],{"type":111,"value":1294},{"type":105,"tag":139,"props":3438,"children":3439},{"style":167},[3440],{"type":111,"value":1299},{"type":105,"tag":139,"props":3442,"children":3443},{"style":173},[3444],{"type":111,"value":1304},{"type":105,"tag":139,"props":3446,"children":3447},{"style":167},[3448],{"type":111,"value":668},{"type":105,"tag":139,"props":3450,"children":3451},{"style":173},[3452],{"type":111,"value":3453},"name",{"type":105,"tag":139,"props":3455,"children":3456},{"style":167},[3457],{"type":111,"value":1144},{"type":105,"tag":139,"props":3459,"children":3460},{"style":254},[3461],{"type":111,"value":1294},{"type":105,"tag":139,"props":3463,"children":3464},{"style":167},[3465],{"type":111,"value":418},{"type":105,"tag":139,"props":3467,"children":3469},{"class":141,"line":3468},19,[3470],{"type":105,"tag":139,"props":3471,"children":3472},{"style":167},[3473],{"type":111,"value":280},{"type":105,"tag":337,"props":3475,"children":3477},{"id":3476},"exception-use-cache-private",[3478,3480],{"type":111,"value":3479},"Exception: ",{"type":105,"tag":135,"props":3481,"children":3483},{"className":3482},[],[3484],{"type":111,"value":1641},{"type":105,"tag":114,"props":3486,"children":3487},{},[3488],{"type":111,"value":3489},"For compliance requirements when you can't refactor:",{"type":105,"tag":127,"props":3491,"children":3493},{"className":350,"code":3492,"language":352,"meta":132,"style":132},"async function getData() {\n  'use cache: private'\n  const session = (await cookies()).get('session')?.value  \u002F\u002F Allowed\n  return fetchData(session)\n}\n",[3494],{"type":105,"tag":135,"props":3495,"children":3496},{"__ignoreMap":132},[3497,3520,3535,3607,3630],{"type":105,"tag":139,"props":3498,"children":3499},{"class":141,"line":142},[3500,3504,3508,3512,3516],{"type":105,"tag":139,"props":3501,"children":3502},{"style":219},[3503],{"type":111,"value":564},{"type":105,"tag":139,"props":3505,"children":3506},{"style":219},[3507],{"type":111,"value":372},{"type":105,"tag":139,"props":3509,"children":3510},{"style":375},[3511],{"type":111,"value":1481},{"type":105,"tag":139,"props":3513,"children":3514},{"style":167},[3515],{"type":111,"value":383},{"type":105,"tag":139,"props":3517,"children":3518},{"style":167},[3519],{"type":111,"value":247},{"type":105,"tag":139,"props":3521,"children":3522},{"class":141,"line":152},[3523,3527,3531],{"type":105,"tag":139,"props":3524,"children":3525},{"style":167},[3526],{"type":111,"value":589},{"type":105,"tag":139,"props":3528,"children":3529},{"style":194},[3530],{"type":111,"value":1641},{"type":105,"tag":139,"props":3532,"children":3533},{"style":167},[3534],{"type":111,"value":202},{"type":105,"tag":139,"props":3536,"children":3537},{"class":141,"line":205},[3538,3542,3546,3550,3554,3558,3562,3566,3570,3574,3578,3582,3586,3590,3594,3598,3602],{"type":105,"tag":139,"props":3539,"children":3540},{"style":219},[3541],{"type":111,"value":644},{"type":105,"tag":139,"props":3543,"children":3544},{"style":173},[3545],{"type":111,"value":3049},{"type":105,"tag":139,"props":3547,"children":3548},{"style":167},[3549],{"type":111,"value":242},{"type":105,"tag":139,"props":3551,"children":3552},{"style":254},[3553],{"type":111,"value":1050},{"type":105,"tag":139,"props":3555,"children":3556},{"style":156},[3557],{"type":111,"value":1055},{"type":105,"tag":139,"props":3559,"children":3560},{"style":375},[3561],{"type":111,"value":1060},{"type":105,"tag":139,"props":3563,"children":3564},{"style":254},[3565],{"type":111,"value":1065},{"type":105,"tag":139,"props":3567,"children":3568},{"style":167},[3569],{"type":111,"value":668},{"type":105,"tag":139,"props":3571,"children":3572},{"style":375},[3573],{"type":111,"value":1074},{"type":105,"tag":139,"props":3575,"children":3576},{"style":254},[3577],{"type":111,"value":610},{"type":105,"tag":139,"props":3579,"children":3580},{"style":167},[3581],{"type":111,"value":615},{"type":105,"tag":139,"props":3583,"children":3584},{"style":194},[3585],{"type":111,"value":3090},{"type":105,"tag":139,"props":3587,"children":3588},{"style":167},[3589],{"type":111,"value":615},{"type":105,"tag":139,"props":3591,"children":3592},{"style":254},[3593],{"type":111,"value":544},{"type":105,"tag":139,"props":3595,"children":3596},{"style":167},[3597],{"type":111,"value":1100},{"type":105,"tag":139,"props":3599,"children":3600},{"style":173},[3601],{"type":111,"value":3107},{"type":105,"tag":139,"props":3603,"children":3604},{"style":146},[3605],{"type":111,"value":3606},"  \u002F\u002F Allowed\n",{"type":105,"tag":139,"props":3608,"children":3609},{"class":141,"line":215},[3610,3614,3618,3622,3626],{"type":105,"tag":139,"props":3611,"children":3612},{"style":156},[3613],{"type":111,"value":395},{"type":105,"tag":139,"props":3615,"children":3616},{"style":375},[3617],{"type":111,"value":1274},{"type":105,"tag":139,"props":3619,"children":3620},{"style":254},[3621],{"type":111,"value":610},{"type":105,"tag":139,"props":3623,"children":3624},{"style":173},[3625],{"type":111,"value":3090},{"type":105,"tag":139,"props":3627,"children":3628},{"style":254},[3629],{"type":111,"value":629},{"type":105,"tag":139,"props":3631,"children":3632},{"class":141,"line":250},[3633],{"type":105,"tag":139,"props":3634,"children":3635},{"style":167},[3636],{"type":111,"value":280},{"type":105,"tag":322,"props":3638,"children":3639},{},[],{"type":105,"tag":120,"props":3641,"children":3643},{"id":3642},"cache-key-generation",[3644],{"type":111,"value":3645},"Cache Key Generation",{"type":105,"tag":114,"props":3647,"children":3648},{},[3649],{"type":111,"value":3650},"Cache keys are automatic based on:",{"type":105,"tag":3652,"props":3653,"children":3654},"ul",{},[3655,3666,3676,3686],{"type":105,"tag":3656,"props":3657,"children":3658},"li",{},[3659,3664],{"type":105,"tag":2942,"props":3660,"children":3661},{},[3662],{"type":111,"value":3663},"Build ID",{"type":111,"value":3665}," - invalidates all caches on deploy",{"type":105,"tag":3656,"props":3667,"children":3668},{},[3669,3674],{"type":105,"tag":2942,"props":3670,"children":3671},{},[3672],{"type":111,"value":3673},"Function ID",{"type":111,"value":3675}," - hash of function location",{"type":105,"tag":3656,"props":3677,"children":3678},{},[3679,3684],{"type":105,"tag":2942,"props":3680,"children":3681},{},[3682],{"type":111,"value":3683},"Serializable arguments",{"type":111,"value":3685}," - props become part of key",{"type":105,"tag":3656,"props":3687,"children":3688},{},[3689,3694],{"type":105,"tag":2942,"props":3690,"children":3691},{},[3692],{"type":111,"value":3693},"Closure variables",{"type":111,"value":3695}," - outer scope values included",{"type":105,"tag":127,"props":3697,"children":3699},{"className":350,"code":3698,"language":352,"meta":132,"style":132},"async function Component({ userId }: { userId: string }) {\n  const getData = async (filter: string) => {\n    'use cache'\n    \u002F\u002F Cache key = userId (closure) + filter (argument)\n    return fetch(`\u002Fapi\u002Fusers\u002F${userId}?filter=${filter}`)\n  }\n  return getData('active')\n}\n",[3700],{"type":105,"tag":135,"props":3701,"children":3702},{"__ignoreMap":132},[3703,3756,3805,3821,3829,3889,3897,3929],{"type":105,"tag":139,"props":3704,"children":3705},{"class":141,"line":142},[3706,3710,3714,3719,3723,3728,3732,3736,3740,3744,3748,3752],{"type":105,"tag":139,"props":3707,"children":3708},{"style":219},[3709],{"type":111,"value":564},{"type":105,"tag":139,"props":3711,"children":3712},{"style":219},[3713],{"type":111,"value":372},{"type":105,"tag":139,"props":3715,"children":3716},{"style":375},[3717],{"type":111,"value":3718}," Component",{"type":105,"tag":139,"props":3720,"children":3721},{"style":167},[3722],{"type":111,"value":3327},{"type":105,"tag":139,"props":3724,"children":3725},{"style":2274},[3726],{"type":111,"value":3727}," userId",{"type":105,"tag":139,"props":3729,"children":3730},{"style":167},[3731],{"type":111,"value":3336},{"type":105,"tag":139,"props":3733,"children":3734},{"style":167},[3735],{"type":111,"value":170},{"type":105,"tag":139,"props":3737,"children":3738},{"style":254},[3739],{"type":111,"value":3727},{"type":105,"tag":139,"props":3741,"children":3742},{"style":167},[3743],{"type":111,"value":232},{"type":105,"tag":139,"props":3745,"children":3746},{"style":235},[3747],{"type":111,"value":2286},{"type":105,"tag":139,"props":3749,"children":3750},{"style":167},[3751],{"type":111,"value":3357},{"type":105,"tag":139,"props":3753,"children":3754},{"style":167},[3755],{"type":111,"value":247},{"type":105,"tag":139,"props":3757,"children":3758},{"class":141,"line":152},[3759,3763,3767,3771,3775,3779,3784,3788,3792,3796,3801],{"type":105,"tag":139,"props":3760,"children":3761},{"style":219},[3762],{"type":111,"value":644},{"type":105,"tag":139,"props":3764,"children":3765},{"style":173},[3766],{"type":111,"value":1481},{"type":105,"tag":139,"props":3768,"children":3769},{"style":167},[3770],{"type":111,"value":242},{"type":105,"tag":139,"props":3772,"children":3773},{"style":219},[3774],{"type":111,"value":1225},{"type":105,"tag":139,"props":3776,"children":3777},{"style":167},[3778],{"type":111,"value":1050},{"type":105,"tag":139,"props":3780,"children":3781},{"style":2274},[3782],{"type":111,"value":3783},"filter",{"type":105,"tag":139,"props":3785,"children":3786},{"style":167},[3787],{"type":111,"value":232},{"type":105,"tag":139,"props":3789,"children":3790},{"style":235},[3791],{"type":111,"value":2286},{"type":105,"tag":139,"props":3793,"children":3794},{"style":167},[3795],{"type":111,"value":544},{"type":105,"tag":139,"props":3797,"children":3798},{"style":219},[3799],{"type":111,"value":3800}," =>",{"type":105,"tag":139,"props":3802,"children":3803},{"style":167},[3804],{"type":111,"value":247},{"type":105,"tag":139,"props":3806,"children":3807},{"class":141,"line":205},[3808,3813,3817],{"type":105,"tag":139,"props":3809,"children":3810},{"style":167},[3811],{"type":111,"value":3812},"    '",{"type":105,"tag":139,"props":3814,"children":3815},{"style":194},[3816],{"type":111,"value":53},{"type":105,"tag":139,"props":3818,"children":3819},{"style":167},[3820],{"type":111,"value":202},{"type":105,"tag":139,"props":3822,"children":3823},{"class":141,"line":215},[3824],{"type":105,"tag":139,"props":3825,"children":3826},{"style":146},[3827],{"type":111,"value":3828},"    \u002F\u002F Cache key = userId (closure) + filter (argument)\n",{"type":105,"tag":139,"props":3830,"children":3831},{"class":141,"line":250},[3832,3837,3841,3845,3849,3854,3858,3863,3868,3873,3877,3881,3885],{"type":105,"tag":139,"props":3833,"children":3834},{"style":156},[3835],{"type":111,"value":3836},"    return",{"type":105,"tag":139,"props":3838,"children":3839},{"style":375},[3840],{"type":111,"value":1795},{"type":105,"tag":139,"props":3842,"children":3843},{"style":254},[3844],{"type":111,"value":610},{"type":105,"tag":139,"props":3846,"children":3847},{"style":167},[3848],{"type":111,"value":2675},{"type":105,"tag":139,"props":3850,"children":3851},{"style":194},[3852],{"type":111,"value":3853},"\u002Fapi\u002Fusers\u002F",{"type":105,"tag":139,"props":3855,"children":3856},{"style":167},[3857],{"type":111,"value":2351},{"type":105,"tag":139,"props":3859,"children":3860},{"style":173},[3861],{"type":111,"value":3862},"userId",{"type":105,"tag":139,"props":3864,"children":3865},{"style":167},[3866],{"type":111,"value":3867},"}",{"type":105,"tag":139,"props":3869,"children":3870},{"style":194},[3871],{"type":111,"value":3872},"?filter=",{"type":105,"tag":139,"props":3874,"children":3875},{"style":167},[3876],{"type":111,"value":2351},{"type":105,"tag":139,"props":3878,"children":3879},{"style":173},[3880],{"type":111,"value":3783},{"type":105,"tag":139,"props":3882,"children":3883},{"style":167},[3884],{"type":111,"value":2360},{"type":105,"tag":139,"props":3886,"children":3887},{"style":254},[3888],{"type":111,"value":629},{"type":105,"tag":139,"props":3890,"children":3891},{"class":141,"line":37},[3892],{"type":105,"tag":139,"props":3893,"children":3894},{"style":167},[3895],{"type":111,"value":3896},"  }\n",{"type":105,"tag":139,"props":3898,"children":3899},{"class":141,"line":283},[3900,3904,3908,3912,3916,3921,3925],{"type":105,"tag":139,"props":3901,"children":3902},{"style":156},[3903],{"type":111,"value":395},{"type":105,"tag":139,"props":3905,"children":3906},{"style":375},[3907],{"type":111,"value":1481},{"type":105,"tag":139,"props":3909,"children":3910},{"style":254},[3911],{"type":111,"value":610},{"type":105,"tag":139,"props":3913,"children":3914},{"style":167},[3915],{"type":111,"value":615},{"type":105,"tag":139,"props":3917,"children":3918},{"style":194},[3919],{"type":111,"value":3920},"active",{"type":105,"tag":139,"props":3922,"children":3923},{"style":167},[3924],{"type":111,"value":615},{"type":105,"tag":139,"props":3926,"children":3927},{"style":254},[3928],{"type":111,"value":629},{"type":105,"tag":139,"props":3930,"children":3931},{"class":141,"line":291},[3932],{"type":105,"tag":139,"props":3933,"children":3934},{"style":167},[3935],{"type":111,"value":280},{"type":105,"tag":322,"props":3937,"children":3938},{},[],{"type":105,"tag":120,"props":3940,"children":3942},{"id":3941},"complete-example",[3943],{"type":111,"value":3944},"Complete Example",{"type":105,"tag":127,"props":3946,"children":3948},{"className":350,"code":3947,"language":352,"meta":132,"style":132},"import { Suspense } from 'react'\nimport { cookies } from 'next\u002Fheaders'\nimport { cacheLife, cacheTag } from 'next\u002Fcache'\n\nexport default function DashboardPage() {\n  return (\n    \u003C>\n      {\u002F* Static shell - instant from CDN *\u002F}\n      \u003Cheader>\u003Ch1>Dashboard\u003C\u002Fh1>\u003C\u002Fheader>\n      \u003Cnav>...\u003C\u002Fnav>\n\n      {\u002F* Cached - fast, revalidates hourly *\u002F}\n      \u003CStats \u002F>\n\n      {\u002F* Dynamic - streams in with fresh data *\u002F}\n      \u003CSuspense fallback={\u003CNotificationsSkeleton \u002F>}>\n        \u003CNotifications \u002F>\n      \u003C\u002FSuspense>\n    \u003C\u002F>\n  )\n}\n\nasync function Stats() {\n  'use cache'\n  cacheLife('hours')\n  cacheTag('dashboard-stats')\n\n  const stats = await db.stats.aggregate()\n  return \u003CStatsDisplay stats={stats} \u002F>\n}\n\nasync function Notifications() {\n  const userId = (await cookies()).get('userId')?.value\n  const notifications = await db.notifications.findMany({\n    where: { userId, read: false }\n  })\n  return \u003CNotificationList items={notifications} \u002F>\n}\n",[3949],{"type":105,"tag":135,"props":3950,"children":3951},{"__ignoreMap":132},[3952,3987,4023,4066,4073,4101,4112,4119,4136,4186,4217,4224,4240,4257,4264,4280,4309,4325,4340,4347,4355,4363,4371,4396,4412,4440,4469,4477,4524,4557,4565,4573,4598,4666,4716,4760,4771,4805],{"type":105,"tag":139,"props":3953,"children":3954},{"class":141,"line":142},[3955,3959,3963,3967,3971,3975,3979,3983],{"type":105,"tag":139,"props":3956,"children":3957},{"style":156},[3958],{"type":111,"value":159},{"type":105,"tag":139,"props":3960,"children":3961},{"style":167},[3962],{"type":111,"value":170},{"type":105,"tag":139,"props":3964,"children":3965},{"style":173},[3966],{"type":111,"value":763},{"type":105,"tag":139,"props":3968,"children":3969},{"style":167},[3970],{"type":111,"value":181},{"type":105,"tag":139,"props":3972,"children":3973},{"style":156},[3974],{"type":111,"value":186},{"type":105,"tag":139,"props":3976,"children":3977},{"style":167},[3978],{"type":111,"value":191},{"type":105,"tag":139,"props":3980,"children":3981},{"style":194},[3982],{"type":111,"value":780},{"type":105,"tag":139,"props":3984,"children":3985},{"style":167},[3986],{"type":111,"value":202},{"type":105,"tag":139,"props":3988,"children":3989},{"class":141,"line":152},[3990,3994,3998,4002,4006,4010,4014,4019],{"type":105,"tag":139,"props":3991,"children":3992},{"style":156},[3993],{"type":111,"value":159},{"type":105,"tag":139,"props":3995,"children":3996},{"style":167},[3997],{"type":111,"value":170},{"type":105,"tag":139,"props":3999,"children":4000},{"style":173},[4001],{"type":111,"value":1060},{"type":105,"tag":139,"props":4003,"children":4004},{"style":167},[4005],{"type":111,"value":181},{"type":105,"tag":139,"props":4007,"children":4008},{"style":156},[4009],{"type":111,"value":186},{"type":105,"tag":139,"props":4011,"children":4012},{"style":167},[4013],{"type":111,"value":191},{"type":105,"tag":139,"props":4015,"children":4016},{"style":194},[4017],{"type":111,"value":4018},"next\u002Fheaders",{"type":105,"tag":139,"props":4020,"children":4021},{"style":167},[4022],{"type":111,"value":202},{"type":105,"tag":139,"props":4024,"children":4025},{"class":141,"line":205},[4026,4030,4034,4038,4042,4046,4050,4054,4058,4062],{"type":105,"tag":139,"props":4027,"children":4028},{"style":156},[4029],{"type":111,"value":159},{"type":105,"tag":139,"props":4031,"children":4032},{"style":167},[4033],{"type":111,"value":170},{"type":105,"tag":139,"props":4035,"children":4036},{"style":173},[4037],{"type":111,"value":1685},{"type":105,"tag":139,"props":4039,"children":4040},{"style":167},[4041],{"type":111,"value":1960},{"type":105,"tag":139,"props":4043,"children":4044},{"style":173},[4045],{"type":111,"value":2111},{"type":105,"tag":139,"props":4047,"children":4048},{"style":167},[4049],{"type":111,"value":181},{"type":105,"tag":139,"props":4051,"children":4052},{"style":156},[4053],{"type":111,"value":186},{"type":105,"tag":139,"props":4055,"children":4056},{"style":167},[4057],{"type":111,"value":191},{"type":105,"tag":139,"props":4059,"children":4060},{"style":194},[4061],{"type":111,"value":48},{"type":105,"tag":139,"props":4063,"children":4064},{"style":167},[4065],{"type":111,"value":202},{"type":105,"tag":139,"props":4067,"children":4068},{"class":141,"line":215},[4069],{"type":105,"tag":139,"props":4070,"children":4071},{"emptyLinePlaceholder":209},[4072],{"type":111,"value":212},{"type":105,"tag":139,"props":4074,"children":4075},{"class":141,"line":250},[4076,4080,4084,4088,4093,4097],{"type":105,"tag":139,"props":4077,"children":4078},{"style":156},[4079],{"type":111,"value":297},{"type":105,"tag":139,"props":4081,"children":4082},{"style":156},[4083],{"type":111,"value":302},{"type":105,"tag":139,"props":4085,"children":4086},{"style":219},[4087],{"type":111,"value":372},{"type":105,"tag":139,"props":4089,"children":4090},{"style":375},[4091],{"type":111,"value":4092}," DashboardPage",{"type":105,"tag":139,"props":4094,"children":4095},{"style":167},[4096],{"type":111,"value":383},{"type":105,"tag":139,"props":4098,"children":4099},{"style":167},[4100],{"type":111,"value":247},{"type":105,"tag":139,"props":4102,"children":4103},{"class":141,"line":37},[4104,4108],{"type":105,"tag":139,"props":4105,"children":4106},{"style":156},[4107],{"type":111,"value":395},{"type":105,"tag":139,"props":4109,"children":4110},{"style":254},[4111],{"type":111,"value":400},{"type":105,"tag":139,"props":4113,"children":4114},{"class":141,"line":283},[4115],{"type":105,"tag":139,"props":4116,"children":4117},{"style":167},[4118],{"type":111,"value":837},{"type":105,"tag":139,"props":4120,"children":4121},{"class":141,"line":291},[4122,4127,4132],{"type":105,"tag":139,"props":4123,"children":4124},{"style":167},[4125],{"type":111,"value":4126},"      {",{"type":105,"tag":139,"props":4128,"children":4129},{"style":146},[4130],{"type":111,"value":4131},"\u002F* Static shell - instant from CDN *\u002F",{"type":105,"tag":139,"props":4133,"children":4134},{"style":167},[4135],{"type":111,"value":280},{"type":105,"tag":139,"props":4137,"children":4138},{"class":141,"line":925},[4139,4143,4147,4152,4156,4160,4165,4169,4173,4178,4182],{"type":105,"tag":139,"props":4140,"children":4141},{"style":167},[4142],{"type":111,"value":426},{"type":105,"tag":139,"props":4144,"children":4145},{"style":254},[4146],{"type":111,"value":413},{"type":105,"tag":139,"props":4148,"children":4149},{"style":167},[4150],{"type":111,"value":4151},">\u003C",{"type":105,"tag":139,"props":4153,"children":4154},{"style":254},[4155],{"type":111,"value":106},{"type":105,"tag":139,"props":4157,"children":4158},{"style":167},[4159],{"type":111,"value":435},{"type":105,"tag":139,"props":4161,"children":4162},{"style":173},[4163],{"type":111,"value":4164},"Dashboard",{"type":105,"tag":139,"props":4166,"children":4167},{"style":167},[4168],{"type":111,"value":445},{"type":105,"tag":139,"props":4170,"children":4171},{"style":254},[4172],{"type":111,"value":106},{"type":105,"tag":139,"props":4174,"children":4175},{"style":167},[4176],{"type":111,"value":4177},">\u003C\u002F",{"type":105,"tag":139,"props":4179,"children":4180},{"style":254},[4181],{"type":111,"value":413},{"type":105,"tag":139,"props":4183,"children":4184},{"style":167},[4185],{"type":111,"value":418},{"type":105,"tag":139,"props":4187,"children":4188},{"class":141,"line":956},[4189,4193,4197,4201,4205,4209,4213],{"type":105,"tag":139,"props":4190,"children":4191},{"style":167},[4192],{"type":111,"value":426},{"type":105,"tag":139,"props":4194,"children":4195},{"style":254},[4196],{"type":111,"value":479},{"type":105,"tag":139,"props":4198,"children":4199},{"style":167},[4200],{"type":111,"value":435},{"type":105,"tag":139,"props":4202,"children":4203},{"style":173},[4204],{"type":111,"value":488},{"type":105,"tag":139,"props":4206,"children":4207},{"style":167},[4208],{"type":111,"value":445},{"type":105,"tag":139,"props":4210,"children":4211},{"style":254},[4212],{"type":111,"value":479},{"type":105,"tag":139,"props":4214,"children":4215},{"style":167},[4216],{"type":111,"value":418},{"type":105,"tag":139,"props":4218,"children":4219},{"class":141,"line":973},[4220],{"type":105,"tag":139,"props":4221,"children":4222},{"emptyLinePlaceholder":209},[4223],{"type":111,"value":212},{"type":105,"tag":139,"props":4225,"children":4226},{"class":141,"line":982},[4227,4231,4236],{"type":105,"tag":139,"props":4228,"children":4229},{"style":167},[4230],{"type":111,"value":4126},{"type":105,"tag":139,"props":4232,"children":4233},{"style":146},[4234],{"type":111,"value":4235},"\u002F* Cached - fast, revalidates hourly *\u002F",{"type":105,"tag":139,"props":4237,"children":4238},{"style":167},[4239],{"type":111,"value":280},{"type":105,"tag":139,"props":4241,"children":4242},{"class":141,"line":990},[4243,4247,4252],{"type":105,"tag":139,"props":4244,"children":4245},{"style":167},[4246],{"type":111,"value":426},{"type":105,"tag":139,"props":4248,"children":4249},{"style":235},[4250],{"type":111,"value":4251},"Stats",{"type":105,"tag":139,"props":4253,"children":4254},{"style":167},[4255],{"type":111,"value":4256}," \u002F>\n",{"type":105,"tag":139,"props":4258,"children":4259},{"class":141,"line":998},[4260],{"type":105,"tag":139,"props":4261,"children":4262},{"emptyLinePlaceholder":209},[4263],{"type":111,"value":212},{"type":105,"tag":139,"props":4265,"children":4266},{"class":141,"line":1006},[4267,4271,4276],{"type":105,"tag":139,"props":4268,"children":4269},{"style":167},[4270],{"type":111,"value":4126},{"type":105,"tag":139,"props":4272,"children":4273},{"style":146},[4274],{"type":111,"value":4275},"\u002F* Dynamic - streams in with fresh data *\u002F",{"type":105,"tag":139,"props":4277,"children":4278},{"style":167},[4279],{"type":111,"value":280},{"type":105,"tag":139,"props":4281,"children":4282},{"class":141,"line":1031},[4283,4287,4291,4295,4299,4304],{"type":105,"tag":139,"props":4284,"children":4285},{"style":167},[4286],{"type":111,"value":426},{"type":105,"tag":139,"props":4288,"children":4289},{"style":235},[4290],{"type":111,"value":886},{"type":105,"tag":139,"props":4292,"children":4293},{"style":219},[4294],{"type":111,"value":891},{"type":105,"tag":139,"props":4296,"children":4297},{"style":167},[4298],{"type":111,"value":896},{"type":105,"tag":139,"props":4300,"children":4301},{"style":235},[4302],{"type":111,"value":4303},"NotificationsSkeleton",{"type":105,"tag":139,"props":4305,"children":4306},{"style":167},[4307],{"type":111,"value":4308}," \u002F>}>\n",{"type":105,"tag":139,"props":4310,"children":4311},{"class":141,"line":1108},[4312,4316,4321],{"type":105,"tag":139,"props":4313,"children":4314},{"style":167},[4315],{"type":111,"value":931},{"type":105,"tag":139,"props":4317,"children":4318},{"style":235},[4319],{"type":111,"value":4320},"Notifications",{"type":105,"tag":139,"props":4322,"children":4323},{"style":167},[4324],{"type":111,"value":4256},{"type":105,"tag":139,"props":4326,"children":4327},{"class":141,"line":1155},[4328,4332,4336],{"type":105,"tag":139,"props":4329,"children":4330},{"style":167},[4331],{"type":111,"value":962},{"type":105,"tag":139,"props":4333,"children":4334},{"style":235},[4335],{"type":111,"value":886},{"type":105,"tag":139,"props":4337,"children":4338},{"style":167},[4339],{"type":111,"value":418},{"type":105,"tag":139,"props":4341,"children":4342},{"class":141,"line":3468},[4343],{"type":105,"tag":139,"props":4344,"children":4345},{"style":167},[4346],{"type":111,"value":979},{"type":105,"tag":139,"props":4348,"children":4350},{"class":141,"line":4349},20,[4351],{"type":105,"tag":139,"props":4352,"children":4353},{"style":254},[4354],{"type":111,"value":524},{"type":105,"tag":139,"props":4356,"children":4358},{"class":141,"line":4357},21,[4359],{"type":105,"tag":139,"props":4360,"children":4361},{"style":167},[4362],{"type":111,"value":280},{"type":105,"tag":139,"props":4364,"children":4366},{"class":141,"line":4365},22,[4367],{"type":105,"tag":139,"props":4368,"children":4369},{"emptyLinePlaceholder":209},[4370],{"type":111,"value":212},{"type":105,"tag":139,"props":4372,"children":4374},{"class":141,"line":4373},23,[4375,4379,4383,4388,4392],{"type":105,"tag":139,"props":4376,"children":4377},{"style":219},[4378],{"type":111,"value":564},{"type":105,"tag":139,"props":4380,"children":4381},{"style":219},[4382],{"type":111,"value":372},{"type":105,"tag":139,"props":4384,"children":4385},{"style":375},[4386],{"type":111,"value":4387}," Stats",{"type":105,"tag":139,"props":4389,"children":4390},{"style":167},[4391],{"type":111,"value":383},{"type":105,"tag":139,"props":4393,"children":4394},{"style":167},[4395],{"type":111,"value":247},{"type":105,"tag":139,"props":4397,"children":4399},{"class":141,"line":4398},24,[4400,4404,4408],{"type":105,"tag":139,"props":4401,"children":4402},{"style":167},[4403],{"type":111,"value":589},{"type":105,"tag":139,"props":4405,"children":4406},{"style":194},[4407],{"type":111,"value":53},{"type":105,"tag":139,"props":4409,"children":4410},{"style":167},[4411],{"type":111,"value":202},{"type":105,"tag":139,"props":4413,"children":4415},{"class":141,"line":4414},25,[4416,4420,4424,4428,4432,4436],{"type":105,"tag":139,"props":4417,"children":4418},{"style":375},[4419],{"type":111,"value":605},{"type":105,"tag":139,"props":4421,"children":4422},{"style":254},[4423],{"type":111,"value":610},{"type":105,"tag":139,"props":4425,"children":4426},{"style":167},[4427],{"type":111,"value":615},{"type":105,"tag":139,"props":4429,"children":4430},{"style":194},[4431],{"type":111,"value":620},{"type":105,"tag":139,"props":4433,"children":4434},{"style":167},[4435],{"type":111,"value":615},{"type":105,"tag":139,"props":4437,"children":4438},{"style":254},[4439],{"type":111,"value":629},{"type":105,"tag":139,"props":4441,"children":4443},{"class":141,"line":4442},26,[4444,4448,4452,4456,4461,4465],{"type":105,"tag":139,"props":4445,"children":4446},{"style":375},[4447],{"type":111,"value":2185},{"type":105,"tag":139,"props":4449,"children":4450},{"style":254},[4451],{"type":111,"value":610},{"type":105,"tag":139,"props":4453,"children":4454},{"style":167},[4455],{"type":111,"value":615},{"type":105,"tag":139,"props":4457,"children":4458},{"style":194},[4459],{"type":111,"value":4460},"dashboard-stats",{"type":105,"tag":139,"props":4462,"children":4463},{"style":167},[4464],{"type":111,"value":615},{"type":105,"tag":139,"props":4466,"children":4467},{"style":254},[4468],{"type":111,"value":629},{"type":105,"tag":139,"props":4470,"children":4472},{"class":141,"line":4471},27,[4473],{"type":105,"tag":139,"props":4474,"children":4475},{"emptyLinePlaceholder":209},[4476],{"type":111,"value":212},{"type":105,"tag":139,"props":4478,"children":4480},{"class":141,"line":4479},28,[4481,4485,4490,4494,4498,4502,4506,4511,4515,4520],{"type":105,"tag":139,"props":4482,"children":4483},{"style":219},[4484],{"type":111,"value":644},{"type":105,"tag":139,"props":4486,"children":4487},{"style":173},[4488],{"type":111,"value":4489}," stats",{"type":105,"tag":139,"props":4491,"children":4492},{"style":167},[4493],{"type":111,"value":242},{"type":105,"tag":139,"props":4495,"children":4496},{"style":156},[4497],{"type":111,"value":658},{"type":105,"tag":139,"props":4499,"children":4500},{"style":173},[4501],{"type":111,"value":663},{"type":105,"tag":139,"props":4503,"children":4504},{"style":167},[4505],{"type":111,"value":668},{"type":105,"tag":139,"props":4507,"children":4508},{"style":173},[4509],{"type":111,"value":4510},"stats",{"type":105,"tag":139,"props":4512,"children":4513},{"style":167},[4514],{"type":111,"value":668},{"type":105,"tag":139,"props":4516,"children":4517},{"style":375},[4518],{"type":111,"value":4519},"aggregate",{"type":105,"tag":139,"props":4521,"children":4522},{"style":254},[4523],{"type":111,"value":687},{"type":105,"tag":139,"props":4525,"children":4527},{"class":141,"line":4526},29,[4528,4532,4536,4541,4545,4549,4553],{"type":105,"tag":139,"props":4529,"children":4530},{"style":156},[4531],{"type":111,"value":395},{"type":105,"tag":139,"props":4533,"children":4534},{"style":167},[4535],{"type":111,"value":699},{"type":105,"tag":139,"props":4537,"children":4538},{"style":235},[4539],{"type":111,"value":4540},"StatsDisplay",{"type":105,"tag":139,"props":4542,"children":4543},{"style":219},[4544],{"type":111,"value":4489},{"type":105,"tag":139,"props":4546,"children":4547},{"style":167},[4548],{"type":111,"value":713},{"type":105,"tag":139,"props":4550,"children":4551},{"style":173},[4552],{"type":111,"value":4510},{"type":105,"tag":139,"props":4554,"children":4555},{"style":167},[4556],{"type":111,"value":722},{"type":105,"tag":139,"props":4558,"children":4560},{"class":141,"line":4559},30,[4561],{"type":105,"tag":139,"props":4562,"children":4563},{"style":167},[4564],{"type":111,"value":280},{"type":105,"tag":139,"props":4566,"children":4568},{"class":141,"line":4567},31,[4569],{"type":105,"tag":139,"props":4570,"children":4571},{"emptyLinePlaceholder":209},[4572],{"type":111,"value":212},{"type":105,"tag":139,"props":4574,"children":4576},{"class":141,"line":4575},32,[4577,4581,4585,4590,4594],{"type":105,"tag":139,"props":4578,"children":4579},{"style":219},[4580],{"type":111,"value":564},{"type":105,"tag":139,"props":4582,"children":4583},{"style":219},[4584],{"type":111,"value":372},{"type":105,"tag":139,"props":4586,"children":4587},{"style":375},[4588],{"type":111,"value":4589}," Notifications",{"type":105,"tag":139,"props":4591,"children":4592},{"style":167},[4593],{"type":111,"value":383},{"type":105,"tag":139,"props":4595,"children":4596},{"style":167},[4597],{"type":111,"value":247},{"type":105,"tag":139,"props":4599,"children":4601},{"class":141,"line":4600},33,[4602,4606,4610,4614,4618,4622,4626,4630,4634,4638,4642,4646,4650,4654,4658,4662],{"type":105,"tag":139,"props":4603,"children":4604},{"style":219},[4605],{"type":111,"value":644},{"type":105,"tag":139,"props":4607,"children":4608},{"style":173},[4609],{"type":111,"value":3727},{"type":105,"tag":139,"props":4611,"children":4612},{"style":167},[4613],{"type":111,"value":242},{"type":105,"tag":139,"props":4615,"children":4616},{"style":254},[4617],{"type":111,"value":1050},{"type":105,"tag":139,"props":4619,"children":4620},{"style":156},[4621],{"type":111,"value":1055},{"type":105,"tag":139,"props":4623,"children":4624},{"style":375},[4625],{"type":111,"value":1060},{"type":105,"tag":139,"props":4627,"children":4628},{"style":254},[4629],{"type":111,"value":1065},{"type":105,"tag":139,"props":4631,"children":4632},{"style":167},[4633],{"type":111,"value":668},{"type":105,"tag":139,"props":4635,"children":4636},{"style":375},[4637],{"type":111,"value":1074},{"type":105,"tag":139,"props":4639,"children":4640},{"style":254},[4641],{"type":111,"value":610},{"type":105,"tag":139,"props":4643,"children":4644},{"style":167},[4645],{"type":111,"value":615},{"type":105,"tag":139,"props":4647,"children":4648},{"style":194},[4649],{"type":111,"value":3862},{"type":105,"tag":139,"props":4651,"children":4652},{"style":167},[4653],{"type":111,"value":615},{"type":105,"tag":139,"props":4655,"children":4656},{"style":254},[4657],{"type":111,"value":544},{"type":105,"tag":139,"props":4659,"children":4660},{"style":167},[4661],{"type":111,"value":1100},{"type":105,"tag":139,"props":4663,"children":4664},{"style":173},[4665],{"type":111,"value":1105},{"type":105,"tag":139,"props":4667,"children":4669},{"class":141,"line":4668},34,[4670,4674,4679,4683,4687,4691,4695,4700,4704,4708,4712],{"type":105,"tag":139,"props":4671,"children":4672},{"style":219},[4673],{"type":111,"value":644},{"type":105,"tag":139,"props":4675,"children":4676},{"style":173},[4677],{"type":111,"value":4678}," notifications",{"type":105,"tag":139,"props":4680,"children":4681},{"style":167},[4682],{"type":111,"value":242},{"type":105,"tag":139,"props":4684,"children":4685},{"style":156},[4686],{"type":111,"value":658},{"type":105,"tag":139,"props":4688,"children":4689},{"style":173},[4690],{"type":111,"value":663},{"type":105,"tag":139,"props":4692,"children":4693},{"style":167},[4694],{"type":111,"value":668},{"type":105,"tag":139,"props":4696,"children":4697},{"style":173},[4698],{"type":111,"value":4699},"notifications",{"type":105,"tag":139,"props":4701,"children":4702},{"style":167},[4703],{"type":111,"value":668},{"type":105,"tag":139,"props":4705,"children":4706},{"style":375},[4707],{"type":111,"value":682},{"type":105,"tag":139,"props":4709,"children":4710},{"style":254},[4711],{"type":111,"value":610},{"type":105,"tag":139,"props":4713,"children":4714},{"style":167},[4715],{"type":111,"value":1937},{"type":105,"tag":139,"props":4717,"children":4719},{"class":141,"line":4718},35,[4720,4725,4729,4733,4737,4741,4746,4750,4755],{"type":105,"tag":139,"props":4721,"children":4722},{"style":254},[4723],{"type":111,"value":4724},"    where",{"type":105,"tag":139,"props":4726,"children":4727},{"style":167},[4728],{"type":111,"value":232},{"type":105,"tag":139,"props":4730,"children":4731},{"style":167},[4732],{"type":111,"value":170},{"type":105,"tag":139,"props":4734,"children":4735},{"style":173},[4736],{"type":111,"value":3727},{"type":105,"tag":139,"props":4738,"children":4739},{"style":167},[4740],{"type":111,"value":1960},{"type":105,"tag":139,"props":4742,"children":4743},{"style":254},[4744],{"type":111,"value":4745}," read",{"type":105,"tag":139,"props":4747,"children":4748},{"style":167},[4749],{"type":111,"value":232},{"type":105,"tag":139,"props":4751,"children":4752},{"style":264},[4753],{"type":111,"value":4754}," false",{"type":105,"tag":139,"props":4756,"children":4757},{"style":167},[4758],{"type":111,"value":4759}," }\n",{"type":105,"tag":139,"props":4761,"children":4762},{"class":141,"line":27},[4763,4767],{"type":105,"tag":139,"props":4764,"children":4765},{"style":167},[4766],{"type":111,"value":2025},{"type":105,"tag":139,"props":4768,"children":4769},{"style":254},[4770],{"type":111,"value":629},{"type":105,"tag":139,"props":4772,"children":4774},{"class":141,"line":4773},37,[4775,4779,4783,4788,4793,4797,4801],{"type":105,"tag":139,"props":4776,"children":4777},{"style":156},[4778],{"type":111,"value":395},{"type":105,"tag":139,"props":4780,"children":4781},{"style":167},[4782],{"type":111,"value":699},{"type":105,"tag":139,"props":4784,"children":4785},{"style":235},[4786],{"type":111,"value":4787},"NotificationList",{"type":105,"tag":139,"props":4789,"children":4790},{"style":219},[4791],{"type":111,"value":4792}," items",{"type":105,"tag":139,"props":4794,"children":4795},{"style":167},[4796],{"type":111,"value":713},{"type":105,"tag":139,"props":4798,"children":4799},{"style":173},[4800],{"type":111,"value":4699},{"type":105,"tag":139,"props":4802,"children":4803},{"style":167},[4804],{"type":111,"value":722},{"type":105,"tag":139,"props":4806,"children":4808},{"class":141,"line":4807},38,[4809],{"type":105,"tag":139,"props":4810,"children":4811},{"style":167},[4812],{"type":111,"value":280},{"type":105,"tag":322,"props":4814,"children":4815},{},[],{"type":105,"tag":120,"props":4817,"children":4819},{"id":4818},"migration-from-previous-versions",[4820],{"type":111,"value":4821},"Migration from Previous Versions",{"type":105,"tag":4823,"props":4824,"children":4825},"table",{},[4826,4845],{"type":105,"tag":4827,"props":4828,"children":4829},"thead",{},[4830],{"type":105,"tag":4831,"props":4832,"children":4833},"tr",{},[4834,4840],{"type":105,"tag":4835,"props":4836,"children":4837},"th",{},[4838],{"type":111,"value":4839},"Old Config",{"type":105,"tag":4835,"props":4841,"children":4842},{},[4843],{"type":111,"value":4844},"Replacement",{"type":105,"tag":4846,"props":4847,"children":4848},"tbody",{},[4849,4870,4887,4916,4937],{"type":105,"tag":4831,"props":4850,"children":4851},{},[4852,4861],{"type":105,"tag":4853,"props":4854,"children":4855},"td",{},[4856],{"type":105,"tag":135,"props":4857,"children":4859},{"className":4858},[],[4860],{"type":111,"value":318},{"type":105,"tag":4853,"props":4862,"children":4863},{},[4864],{"type":105,"tag":135,"props":4865,"children":4867},{"className":4866},[],[4868],{"type":111,"value":4869},"cacheComponents: true",{"type":105,"tag":4831,"props":4871,"children":4872},{},[4873,4882],{"type":105,"tag":4853,"props":4874,"children":4875},{},[4876],{"type":105,"tag":135,"props":4877,"children":4879},{"className":4878},[],[4880],{"type":111,"value":4881},"dynamic = 'force-dynamic'",{"type":105,"tag":4853,"props":4883,"children":4884},{},[4885],{"type":111,"value":4886},"Remove (default behavior)",{"type":105,"tag":4831,"props":4888,"children":4889},{},[4890,4899],{"type":105,"tag":4853,"props":4891,"children":4892},{},[4893],{"type":105,"tag":135,"props":4894,"children":4896},{"className":4895},[],[4897],{"type":111,"value":4898},"dynamic = 'force-static'",{"type":105,"tag":4853,"props":4900,"children":4901},{},[4902,4908,4910],{"type":105,"tag":135,"props":4903,"children":4905},{"className":4904},[],[4906],{"type":111,"value":4907},"'use cache'",{"type":111,"value":4909}," + ",{"type":105,"tag":135,"props":4911,"children":4913},{"className":4912},[],[4914],{"type":111,"value":4915},"cacheLife('max')",{"type":105,"tag":4831,"props":4917,"children":4918},{},[4919,4928],{"type":105,"tag":4853,"props":4920,"children":4921},{},[4922],{"type":105,"tag":135,"props":4923,"children":4925},{"className":4924},[],[4926],{"type":111,"value":4927},"revalidate = N",{"type":105,"tag":4853,"props":4929,"children":4930},{},[4931],{"type":105,"tag":135,"props":4932,"children":4934},{"className":4933},[],[4935],{"type":111,"value":4936},"cacheLife({ revalidate: N })",{"type":105,"tag":4831,"props":4938,"children":4939},{},[4940,4949],{"type":105,"tag":4853,"props":4941,"children":4942},{},[4943],{"type":105,"tag":135,"props":4944,"children":4946},{"className":4945},[],[4947],{"type":111,"value":4948},"unstable_cache()",{"type":105,"tag":4853,"props":4950,"children":4951},{},[4952,4957],{"type":105,"tag":135,"props":4953,"children":4955},{"className":4954},[],[4956],{"type":111,"value":4907},{"type":111,"value":4958}," directive",{"type":105,"tag":337,"props":4960,"children":4962},{"id":4961},"migrating-unstable_cache-to-use-cache",[4963,4965,4970,4972],{"type":111,"value":4964},"Migrating ",{"type":105,"tag":135,"props":4966,"children":4968},{"className":4967},[],[4969],{"type":111,"value":60},{"type":111,"value":4971}," to ",{"type":105,"tag":135,"props":4973,"children":4975},{"className":4974},[],[4976],{"type":111,"value":53},{"type":105,"tag":114,"props":4978,"children":4979},{},[4980,4985,4987,4992,4994,5000,5002,5007,5009,5014],{"type":105,"tag":135,"props":4981,"children":4983},{"className":4982},[],[4984],{"type":111,"value":60},{"type":111,"value":4986}," has been replaced by the ",{"type":105,"tag":135,"props":4988,"children":4990},{"className":4989},[],[4991],{"type":111,"value":53},{"type":111,"value":4993}," directive in Next.js 16. When ",{"type":105,"tag":135,"props":4995,"children":4997},{"className":4996},[],[4998],{"type":111,"value":4999},"cacheComponents",{"type":111,"value":5001}," is enabled, convert ",{"type":105,"tag":135,"props":5003,"children":5005},{"className":5004},[],[5006],{"type":111,"value":60},{"type":111,"value":5008}," calls to ",{"type":105,"tag":135,"props":5010,"children":5012},{"className":5011},[],[5013],{"type":111,"value":53},{"type":111,"value":5015}," functions:",{"type":105,"tag":114,"props":5017,"children":5018},{},[5019],{"type":105,"tag":2942,"props":5020,"children":5021},{},[5022,5024,5029],{"type":111,"value":5023},"Before (",{"type":105,"tag":135,"props":5025,"children":5027},{"className":5026},[],[5028],{"type":111,"value":60},{"type":111,"value":5030},"):",{"type":105,"tag":127,"props":5032,"children":5034},{"className":350,"code":5033,"language":352,"meta":132,"style":132},"import { unstable_cache } from 'next\u002Fcache'\n\nconst getCachedUser = unstable_cache(\n  async (id) => getUser(id),\n  ['my-app-user'],\n  {\n    tags: ['users'],\n    revalidate: 60,\n  }\n)\n\nexport default async function Page({ params }: { params: Promise\u003C{ id: string }> }) {\n  const { id } = await params\n  const user = await getCachedUser(id)\n  return \u003Cdiv>{user.name}\u003C\u002Fdiv>\n}\n",[5035],{"type":105,"tag":135,"props":5036,"children":5037},{"__ignoreMap":132},[5038,5074,5081,5107,5145,5175,5183,5221,5241,5248,5255,5262,5345,5377,5414,5458],{"type":105,"tag":139,"props":5039,"children":5040},{"class":141,"line":142},[5041,5045,5049,5054,5058,5062,5066,5070],{"type":105,"tag":139,"props":5042,"children":5043},{"style":156},[5044],{"type":111,"value":159},{"type":105,"tag":139,"props":5046,"children":5047},{"style":167},[5048],{"type":111,"value":170},{"type":105,"tag":139,"props":5050,"children":5051},{"style":173},[5052],{"type":111,"value":5053}," unstable_cache",{"type":105,"tag":139,"props":5055,"children":5056},{"style":167},[5057],{"type":111,"value":181},{"type":105,"tag":139,"props":5059,"children":5060},{"style":156},[5061],{"type":111,"value":186},{"type":105,"tag":139,"props":5063,"children":5064},{"style":167},[5065],{"type":111,"value":191},{"type":105,"tag":139,"props":5067,"children":5068},{"style":194},[5069],{"type":111,"value":48},{"type":105,"tag":139,"props":5071,"children":5072},{"style":167},[5073],{"type":111,"value":202},{"type":105,"tag":139,"props":5075,"children":5076},{"class":141,"line":152},[5077],{"type":105,"tag":139,"props":5078,"children":5079},{"emptyLinePlaceholder":209},[5080],{"type":111,"value":212},{"type":105,"tag":139,"props":5082,"children":5083},{"class":141,"line":205},[5084,5088,5093,5098,5102],{"type":105,"tag":139,"props":5085,"children":5086},{"style":219},[5087],{"type":111,"value":222},{"type":105,"tag":139,"props":5089,"children":5090},{"style":173},[5091],{"type":111,"value":5092}," getCachedUser ",{"type":105,"tag":139,"props":5094,"children":5095},{"style":167},[5096],{"type":111,"value":5097},"=",{"type":105,"tag":139,"props":5099,"children":5100},{"style":375},[5101],{"type":111,"value":5053},{"type":105,"tag":139,"props":5103,"children":5104},{"style":173},[5105],{"type":111,"value":5106},"(\n",{"type":105,"tag":139,"props":5108,"children":5109},{"class":141,"line":215},[5110,5115,5119,5123,5127,5131,5136,5141],{"type":105,"tag":139,"props":5111,"children":5112},{"style":219},[5113],{"type":111,"value":5114},"  async",{"type":105,"tag":139,"props":5116,"children":5117},{"style":167},[5118],{"type":111,"value":1050},{"type":105,"tag":139,"props":5120,"children":5121},{"style":2274},[5122],{"type":111,"value":2277},{"type":105,"tag":139,"props":5124,"children":5125},{"style":167},[5126],{"type":111,"value":544},{"type":105,"tag":139,"props":5128,"children":5129},{"style":219},[5130],{"type":111,"value":3800},{"type":105,"tag":139,"props":5132,"children":5133},{"style":375},[5134],{"type":111,"value":5135}," getUser",{"type":105,"tag":139,"props":5137,"children":5138},{"style":173},[5139],{"type":111,"value":5140},"(id)",{"type":105,"tag":139,"props":5142,"children":5143},{"style":167},[5144],{"type":111,"value":272},{"type":105,"tag":139,"props":5146,"children":5147},{"class":141,"line":250},[5148,5153,5157,5162,5166,5171],{"type":105,"tag":139,"props":5149,"children":5150},{"style":173},[5151],{"type":111,"value":5152},"  [",{"type":105,"tag":139,"props":5154,"children":5155},{"style":167},[5156],{"type":111,"value":615},{"type":105,"tag":139,"props":5158,"children":5159},{"style":194},[5160],{"type":111,"value":5161},"my-app-user",{"type":105,"tag":139,"props":5163,"children":5164},{"style":167},[5165],{"type":111,"value":615},{"type":105,"tag":139,"props":5167,"children":5168},{"style":173},[5169],{"type":111,"value":5170},"]",{"type":105,"tag":139,"props":5172,"children":5173},{"style":167},[5174],{"type":111,"value":272},{"type":105,"tag":139,"props":5176,"children":5177},{"class":141,"line":37},[5178],{"type":105,"tag":139,"props":5179,"children":5180},{"style":167},[5181],{"type":111,"value":5182},"  {\n",{"type":105,"tag":139,"props":5184,"children":5185},{"class":141,"line":283},[5186,5191,5195,5200,5204,5209,5213,5217],{"type":105,"tag":139,"props":5187,"children":5188},{"style":254},[5189],{"type":111,"value":5190},"    tags",{"type":105,"tag":139,"props":5192,"children":5193},{"style":167},[5194],{"type":111,"value":232},{"type":105,"tag":139,"props":5196,"children":5197},{"style":173},[5198],{"type":111,"value":5199}," [",{"type":105,"tag":139,"props":5201,"children":5202},{"style":167},[5203],{"type":111,"value":615},{"type":105,"tag":139,"props":5205,"children":5206},{"style":194},[5207],{"type":111,"value":5208},"users",{"type":105,"tag":139,"props":5210,"children":5211},{"style":167},[5212],{"type":111,"value":615},{"type":105,"tag":139,"props":5214,"children":5215},{"style":173},[5216],{"type":111,"value":5170},{"type":105,"tag":139,"props":5218,"children":5219},{"style":167},[5220],{"type":111,"value":272},{"type":105,"tag":139,"props":5222,"children":5223},{"class":141,"line":291},[5224,5228,5232,5237],{"type":105,"tag":139,"props":5225,"children":5226},{"style":254},[5227],{"type":111,"value":1973},{"type":105,"tag":139,"props":5229,"children":5230},{"style":167},[5231],{"type":111,"value":232},{"type":105,"tag":139,"props":5233,"children":5234},{"style":1952},[5235],{"type":111,"value":5236}," 60",{"type":105,"tag":139,"props":5238,"children":5239},{"style":167},[5240],{"type":111,"value":272},{"type":105,"tag":139,"props":5242,"children":5243},{"class":141,"line":925},[5244],{"type":105,"tag":139,"props":5245,"children":5246},{"style":167},[5247],{"type":111,"value":3896},{"type":105,"tag":139,"props":5249,"children":5250},{"class":141,"line":956},[5251],{"type":105,"tag":139,"props":5252,"children":5253},{"style":173},[5254],{"type":111,"value":629},{"type":105,"tag":139,"props":5256,"children":5257},{"class":141,"line":973},[5258],{"type":105,"tag":139,"props":5259,"children":5260},{"emptyLinePlaceholder":209},[5261],{"type":111,"value":212},{"type":105,"tag":139,"props":5263,"children":5264},{"class":141,"line":982},[5265,5269,5273,5277,5281,5285,5289,5294,5298,5302,5306,5310,5315,5320,5324,5328,5332,5337,5341],{"type":105,"tag":139,"props":5266,"children":5267},{"style":156},[5268],{"type":111,"value":297},{"type":105,"tag":139,"props":5270,"children":5271},{"style":156},[5272],{"type":111,"value":302},{"type":105,"tag":139,"props":5274,"children":5275},{"style":219},[5276],{"type":111,"value":1225},{"type":105,"tag":139,"props":5278,"children":5279},{"style":219},[5280],{"type":111,"value":372},{"type":105,"tag":139,"props":5282,"children":5283},{"style":375},[5284],{"type":111,"value":378},{"type":105,"tag":139,"props":5286,"children":5287},{"style":167},[5288],{"type":111,"value":3327},{"type":105,"tag":139,"props":5290,"children":5291},{"style":2274},[5292],{"type":111,"value":5293}," params",{"type":105,"tag":139,"props":5295,"children":5296},{"style":167},[5297],{"type":111,"value":3336},{"type":105,"tag":139,"props":5299,"children":5300},{"style":167},[5301],{"type":111,"value":170},{"type":105,"tag":139,"props":5303,"children":5304},{"style":254},[5305],{"type":111,"value":5293},{"type":105,"tag":139,"props":5307,"children":5308},{"style":167},[5309],{"type":111,"value":232},{"type":105,"tag":139,"props":5311,"children":5312},{"style":235},[5313],{"type":111,"value":5314}," Promise",{"type":105,"tag":139,"props":5316,"children":5317},{"style":167},[5318],{"type":111,"value":5319},"\u003C{",{"type":105,"tag":139,"props":5321,"children":5322},{"style":254},[5323],{"type":111,"value":2418},{"type":105,"tag":139,"props":5325,"children":5326},{"style":167},[5327],{"type":111,"value":232},{"type":105,"tag":139,"props":5329,"children":5330},{"style":235},[5331],{"type":111,"value":2286},{"type":105,"tag":139,"props":5333,"children":5334},{"style":167},[5335],{"type":111,"value":5336}," }>",{"type":105,"tag":139,"props":5338,"children":5339},{"style":167},[5340],{"type":111,"value":3357},{"type":105,"tag":139,"props":5342,"children":5343},{"style":167},[5344],{"type":111,"value":247},{"type":105,"tag":139,"props":5346,"children":5347},{"class":141,"line":990},[5348,5352,5356,5360,5364,5368,5372],{"type":105,"tag":139,"props":5349,"children":5350},{"style":219},[5351],{"type":111,"value":644},{"type":105,"tag":139,"props":5353,"children":5354},{"style":167},[5355],{"type":111,"value":170},{"type":105,"tag":139,"props":5357,"children":5358},{"style":173},[5359],{"type":111,"value":2418},{"type":105,"tag":139,"props":5361,"children":5362},{"style":167},[5363],{"type":111,"value":181},{"type":105,"tag":139,"props":5365,"children":5366},{"style":167},[5367],{"type":111,"value":242},{"type":105,"tag":139,"props":5369,"children":5370},{"style":156},[5371],{"type":111,"value":658},{"type":105,"tag":139,"props":5373,"children":5374},{"style":173},[5375],{"type":111,"value":5376}," params\n",{"type":105,"tag":139,"props":5378,"children":5379},{"class":141,"line":998},[5380,5384,5389,5393,5397,5402,5406,5410],{"type":105,"tag":139,"props":5381,"children":5382},{"style":219},[5383],{"type":111,"value":644},{"type":105,"tag":139,"props":5385,"children":5386},{"style":173},[5387],{"type":111,"value":5388}," user",{"type":105,"tag":139,"props":5390,"children":5391},{"style":167},[5392],{"type":111,"value":242},{"type":105,"tag":139,"props":5394,"children":5395},{"style":156},[5396],{"type":111,"value":658},{"type":105,"tag":139,"props":5398,"children":5399},{"style":375},[5400],{"type":111,"value":5401}," getCachedUser",{"type":105,"tag":139,"props":5403,"children":5404},{"style":254},[5405],{"type":111,"value":610},{"type":105,"tag":139,"props":5407,"children":5408},{"style":173},[5409],{"type":111,"value":2277},{"type":105,"tag":139,"props":5411,"children":5412},{"style":254},[5413],{"type":111,"value":629},{"type":105,"tag":139,"props":5415,"children":5416},{"class":141,"line":1006},[5417,5421,5425,5429,5433,5438,5442,5446,5450,5454],{"type":105,"tag":139,"props":5418,"children":5419},{"style":156},[5420],{"type":111,"value":395},{"type":105,"tag":139,"props":5422,"children":5423},{"style":167},[5424],{"type":111,"value":699},{"type":105,"tag":139,"props":5426,"children":5427},{"style":254},[5428],{"type":111,"value":1294},{"type":105,"tag":139,"props":5430,"children":5431},{"style":167},[5432],{"type":111,"value":1299},{"type":105,"tag":139,"props":5434,"children":5435},{"style":173},[5436],{"type":111,"value":5437},"user",{"type":105,"tag":139,"props":5439,"children":5440},{"style":167},[5441],{"type":111,"value":668},{"type":105,"tag":139,"props":5443,"children":5444},{"style":173},[5445],{"type":111,"value":3453},{"type":105,"tag":139,"props":5447,"children":5448},{"style":167},[5449],{"type":111,"value":1144},{"type":105,"tag":139,"props":5451,"children":5452},{"style":254},[5453],{"type":111,"value":1294},{"type":105,"tag":139,"props":5455,"children":5456},{"style":167},[5457],{"type":111,"value":418},{"type":105,"tag":139,"props":5459,"children":5460},{"class":141,"line":1031},[5461],{"type":105,"tag":139,"props":5462,"children":5463},{"style":167},[5464],{"type":111,"value":280},{"type":105,"tag":114,"props":5466,"children":5467},{},[5468],{"type":105,"tag":2942,"props":5469,"children":5470},{},[5471,5473,5478],{"type":111,"value":5472},"After (",{"type":105,"tag":135,"props":5474,"children":5476},{"className":5475},[],[5477],{"type":111,"value":53},{"type":111,"value":5030},{"type":105,"tag":127,"props":5480,"children":5482},{"className":350,"code":5481,"language":352,"meta":132,"style":132},"import { cacheLife, cacheTag } from 'next\u002Fcache'\n\nasync function getCachedUser(id: string) {\n  'use cache'\n  cacheTag('users')\n  cacheLife({ revalidate: 60 })\n  return getUser(id)\n}\n\nexport default async function Page({ params }: { params: Promise\u003C{ id: string }> }) {\n  const { id } = await params\n  const user = await getCachedUser(id)\n  return \u003Cdiv>{user.name}\u003C\u002Fdiv>\n}\n",[5483],{"type":105,"tag":135,"props":5484,"children":5485},{"__ignoreMap":132},[5486,5529,5536,5575,5590,5617,5653,5676,5683,5690,5769,5800,5835,5878],{"type":105,"tag":139,"props":5487,"children":5488},{"class":141,"line":142},[5489,5493,5497,5501,5505,5509,5513,5517,5521,5525],{"type":105,"tag":139,"props":5490,"children":5491},{"style":156},[5492],{"type":111,"value":159},{"type":105,"tag":139,"props":5494,"children":5495},{"style":167},[5496],{"type":111,"value":170},{"type":105,"tag":139,"props":5498,"children":5499},{"style":173},[5500],{"type":111,"value":1685},{"type":105,"tag":139,"props":5502,"children":5503},{"style":167},[5504],{"type":111,"value":1960},{"type":105,"tag":139,"props":5506,"children":5507},{"style":173},[5508],{"type":111,"value":2111},{"type":105,"tag":139,"props":5510,"children":5511},{"style":167},[5512],{"type":111,"value":181},{"type":105,"tag":139,"props":5514,"children":5515},{"style":156},[5516],{"type":111,"value":186},{"type":105,"tag":139,"props":5518,"children":5519},{"style":167},[5520],{"type":111,"value":191},{"type":105,"tag":139,"props":5522,"children":5523},{"style":194},[5524],{"type":111,"value":48},{"type":105,"tag":139,"props":5526,"children":5527},{"style":167},[5528],{"type":111,"value":202},{"type":105,"tag":139,"props":5530,"children":5531},{"class":141,"line":152},[5532],{"type":105,"tag":139,"props":5533,"children":5534},{"emptyLinePlaceholder":209},[5535],{"type":111,"value":212},{"type":105,"tag":139,"props":5537,"children":5538},{"class":141,"line":205},[5539,5543,5547,5551,5555,5559,5563,5567,5571],{"type":105,"tag":139,"props":5540,"children":5541},{"style":219},[5542],{"type":111,"value":564},{"type":105,"tag":139,"props":5544,"children":5545},{"style":219},[5546],{"type":111,"value":372},{"type":105,"tag":139,"props":5548,"children":5549},{"style":375},[5550],{"type":111,"value":5401},{"type":105,"tag":139,"props":5552,"children":5553},{"style":167},[5554],{"type":111,"value":610},{"type":105,"tag":139,"props":5556,"children":5557},{"style":2274},[5558],{"type":111,"value":2277},{"type":105,"tag":139,"props":5560,"children":5561},{"style":167},[5562],{"type":111,"value":232},{"type":105,"tag":139,"props":5564,"children":5565},{"style":235},[5566],{"type":111,"value":2286},{"type":105,"tag":139,"props":5568,"children":5569},{"style":167},[5570],{"type":111,"value":544},{"type":105,"tag":139,"props":5572,"children":5573},{"style":167},[5574],{"type":111,"value":247},{"type":105,"tag":139,"props":5576,"children":5577},{"class":141,"line":215},[5578,5582,5586],{"type":105,"tag":139,"props":5579,"children":5580},{"style":167},[5581],{"type":111,"value":589},{"type":105,"tag":139,"props":5583,"children":5584},{"style":194},[5585],{"type":111,"value":53},{"type":105,"tag":139,"props":5587,"children":5588},{"style":167},[5589],{"type":111,"value":202},{"type":105,"tag":139,"props":5591,"children":5592},{"class":141,"line":250},[5593,5597,5601,5605,5609,5613],{"type":105,"tag":139,"props":5594,"children":5595},{"style":375},[5596],{"type":111,"value":2185},{"type":105,"tag":139,"props":5598,"children":5599},{"style":254},[5600],{"type":111,"value":610},{"type":105,"tag":139,"props":5602,"children":5603},{"style":167},[5604],{"type":111,"value":615},{"type":105,"tag":139,"props":5606,"children":5607},{"style":194},[5608],{"type":111,"value":5208},{"type":105,"tag":139,"props":5610,"children":5611},{"style":167},[5612],{"type":111,"value":615},{"type":105,"tag":139,"props":5614,"children":5615},{"style":254},[5616],{"type":111,"value":629},{"type":105,"tag":139,"props":5618,"children":5619},{"class":141,"line":37},[5620,5624,5628,5632,5637,5641,5645,5649],{"type":105,"tag":139,"props":5621,"children":5622},{"style":375},[5623],{"type":111,"value":605},{"type":105,"tag":139,"props":5625,"children":5626},{"style":254},[5627],{"type":111,"value":610},{"type":105,"tag":139,"props":5629,"children":5630},{"style":167},[5631],{"type":111,"value":1135},{"type":105,"tag":139,"props":5633,"children":5634},{"style":254},[5635],{"type":111,"value":5636}," revalidate",{"type":105,"tag":139,"props":5638,"children":5639},{"style":167},[5640],{"type":111,"value":232},{"type":105,"tag":139,"props":5642,"children":5643},{"style":1952},[5644],{"type":111,"value":5236},{"type":105,"tag":139,"props":5646,"children":5647},{"style":167},[5648],{"type":111,"value":181},{"type":105,"tag":139,"props":5650,"children":5651},{"style":254},[5652],{"type":111,"value":629},{"type":105,"tag":139,"props":5654,"children":5655},{"class":141,"line":283},[5656,5660,5664,5668,5672],{"type":105,"tag":139,"props":5657,"children":5658},{"style":156},[5659],{"type":111,"value":395},{"type":105,"tag":139,"props":5661,"children":5662},{"style":375},[5663],{"type":111,"value":5135},{"type":105,"tag":139,"props":5665,"children":5666},{"style":254},[5667],{"type":111,"value":610},{"type":105,"tag":139,"props":5669,"children":5670},{"style":173},[5671],{"type":111,"value":2277},{"type":105,"tag":139,"props":5673,"children":5674},{"style":254},[5675],{"type":111,"value":629},{"type":105,"tag":139,"props":5677,"children":5678},{"class":141,"line":291},[5679],{"type":105,"tag":139,"props":5680,"children":5681},{"style":167},[5682],{"type":111,"value":280},{"type":105,"tag":139,"props":5684,"children":5685},{"class":141,"line":925},[5686],{"type":105,"tag":139,"props":5687,"children":5688},{"emptyLinePlaceholder":209},[5689],{"type":111,"value":212},{"type":105,"tag":139,"props":5691,"children":5692},{"class":141,"line":956},[5693,5697,5701,5705,5709,5713,5717,5721,5725,5729,5733,5737,5741,5745,5749,5753,5757,5761,5765],{"type":105,"tag":139,"props":5694,"children":5695},{"style":156},[5696],{"type":111,"value":297},{"type":105,"tag":139,"props":5698,"children":5699},{"style":156},[5700],{"type":111,"value":302},{"type":105,"tag":139,"props":5702,"children":5703},{"style":219},[5704],{"type":111,"value":1225},{"type":105,"tag":139,"props":5706,"children":5707},{"style":219},[5708],{"type":111,"value":372},{"type":105,"tag":139,"props":5710,"children":5711},{"style":375},[5712],{"type":111,"value":378},{"type":105,"tag":139,"props":5714,"children":5715},{"style":167},[5716],{"type":111,"value":3327},{"type":105,"tag":139,"props":5718,"children":5719},{"style":2274},[5720],{"type":111,"value":5293},{"type":105,"tag":139,"props":5722,"children":5723},{"style":167},[5724],{"type":111,"value":3336},{"type":105,"tag":139,"props":5726,"children":5727},{"style":167},[5728],{"type":111,"value":170},{"type":105,"tag":139,"props":5730,"children":5731},{"style":254},[5732],{"type":111,"value":5293},{"type":105,"tag":139,"props":5734,"children":5735},{"style":167},[5736],{"type":111,"value":232},{"type":105,"tag":139,"props":5738,"children":5739},{"style":235},[5740],{"type":111,"value":5314},{"type":105,"tag":139,"props":5742,"children":5743},{"style":167},[5744],{"type":111,"value":5319},{"type":105,"tag":139,"props":5746,"children":5747},{"style":254},[5748],{"type":111,"value":2418},{"type":105,"tag":139,"props":5750,"children":5751},{"style":167},[5752],{"type":111,"value":232},{"type":105,"tag":139,"props":5754,"children":5755},{"style":235},[5756],{"type":111,"value":2286},{"type":105,"tag":139,"props":5758,"children":5759},{"style":167},[5760],{"type":111,"value":5336},{"type":105,"tag":139,"props":5762,"children":5763},{"style":167},[5764],{"type":111,"value":3357},{"type":105,"tag":139,"props":5766,"children":5767},{"style":167},[5768],{"type":111,"value":247},{"type":105,"tag":139,"props":5770,"children":5771},{"class":141,"line":973},[5772,5776,5780,5784,5788,5792,5796],{"type":105,"tag":139,"props":5773,"children":5774},{"style":219},[5775],{"type":111,"value":644},{"type":105,"tag":139,"props":5777,"children":5778},{"style":167},[5779],{"type":111,"value":170},{"type":105,"tag":139,"props":5781,"children":5782},{"style":173},[5783],{"type":111,"value":2418},{"type":105,"tag":139,"props":5785,"children":5786},{"style":167},[5787],{"type":111,"value":181},{"type":105,"tag":139,"props":5789,"children":5790},{"style":167},[5791],{"type":111,"value":242},{"type":105,"tag":139,"props":5793,"children":5794},{"style":156},[5795],{"type":111,"value":658},{"type":105,"tag":139,"props":5797,"children":5798},{"style":173},[5799],{"type":111,"value":5376},{"type":105,"tag":139,"props":5801,"children":5802},{"class":141,"line":982},[5803,5807,5811,5815,5819,5823,5827,5831],{"type":105,"tag":139,"props":5804,"children":5805},{"style":219},[5806],{"type":111,"value":644},{"type":105,"tag":139,"props":5808,"children":5809},{"style":173},[5810],{"type":111,"value":5388},{"type":105,"tag":139,"props":5812,"children":5813},{"style":167},[5814],{"type":111,"value":242},{"type":105,"tag":139,"props":5816,"children":5817},{"style":156},[5818],{"type":111,"value":658},{"type":105,"tag":139,"props":5820,"children":5821},{"style":375},[5822],{"type":111,"value":5401},{"type":105,"tag":139,"props":5824,"children":5825},{"style":254},[5826],{"type":111,"value":610},{"type":105,"tag":139,"props":5828,"children":5829},{"style":173},[5830],{"type":111,"value":2277},{"type":105,"tag":139,"props":5832,"children":5833},{"style":254},[5834],{"type":111,"value":629},{"type":105,"tag":139,"props":5836,"children":5837},{"class":141,"line":990},[5838,5842,5846,5850,5854,5858,5862,5866,5870,5874],{"type":105,"tag":139,"props":5839,"children":5840},{"style":156},[5841],{"type":111,"value":395},{"type":105,"tag":139,"props":5843,"children":5844},{"style":167},[5845],{"type":111,"value":699},{"type":105,"tag":139,"props":5847,"children":5848},{"style":254},[5849],{"type":111,"value":1294},{"type":105,"tag":139,"props":5851,"children":5852},{"style":167},[5853],{"type":111,"value":1299},{"type":105,"tag":139,"props":5855,"children":5856},{"style":173},[5857],{"type":111,"value":5437},{"type":105,"tag":139,"props":5859,"children":5860},{"style":167},[5861],{"type":111,"value":668},{"type":105,"tag":139,"props":5863,"children":5864},{"style":173},[5865],{"type":111,"value":3453},{"type":105,"tag":139,"props":5867,"children":5868},{"style":167},[5869],{"type":111,"value":1144},{"type":105,"tag":139,"props":5871,"children":5872},{"style":254},[5873],{"type":111,"value":1294},{"type":105,"tag":139,"props":5875,"children":5876},{"style":167},[5877],{"type":111,"value":418},{"type":105,"tag":139,"props":5879,"children":5880},{"class":141,"line":998},[5881],{"type":105,"tag":139,"props":5882,"children":5883},{"style":167},[5884],{"type":111,"value":280},{"type":105,"tag":114,"props":5886,"children":5887},{},[5888],{"type":111,"value":5889},"Key differences:",{"type":105,"tag":3652,"props":5891,"children":5892},{},[5893,5925,5950,5980],{"type":105,"tag":3656,"props":5894,"children":5895},{},[5896,5901,5903,5908,5910,5916,5918,5923],{"type":105,"tag":2942,"props":5897,"children":5898},{},[5899],{"type":111,"value":5900},"No manual cache keys",{"type":111,"value":5902}," - ",{"type":105,"tag":135,"props":5904,"children":5906},{"className":5905},[],[5907],{"type":111,"value":53},{"type":111,"value":5909}," generates keys automatically from function arguments and closures. The ",{"type":105,"tag":135,"props":5911,"children":5913},{"className":5912},[],[5914],{"type":111,"value":5915},"keyParts",{"type":111,"value":5917}," array from ",{"type":105,"tag":135,"props":5919,"children":5921},{"className":5920},[],[5922],{"type":111,"value":60},{"type":111,"value":5924}," is no longer needed.",{"type":105,"tag":3656,"props":5926,"children":5927},{},[5928,5933,5935,5941,5943,5948],{"type":105,"tag":2942,"props":5929,"children":5930},{},[5931],{"type":111,"value":5932},"Tags",{"type":111,"value":5934}," - Replace ",{"type":105,"tag":135,"props":5936,"children":5938},{"className":5937},[],[5939],{"type":111,"value":5940},"options.tags",{"type":111,"value":5942}," with ",{"type":105,"tag":135,"props":5944,"children":5946},{"className":5945},[],[5947],{"type":111,"value":2086},{"type":111,"value":5949}," calls inside the function.",{"type":105,"tag":3656,"props":5951,"children":5952},{},[5953,5958,5959,5965,5966,5971,5973,5979],{"type":105,"tag":2942,"props":5954,"children":5955},{},[5956],{"type":111,"value":5957},"Revalidation",{"type":111,"value":5934},{"type":105,"tag":135,"props":5960,"children":5962},{"className":5961},[],[5963],{"type":111,"value":5964},"options.revalidate",{"type":111,"value":5942},{"type":105,"tag":135,"props":5967,"children":5969},{"className":5968},[],[5970],{"type":111,"value":4936},{"type":111,"value":5972}," or a built-in profile like ",{"type":105,"tag":135,"props":5974,"children":5976},{"className":5975},[],[5977],{"type":111,"value":5978},"cacheLife('minutes')",{"type":111,"value":668},{"type":105,"tag":3656,"props":5981,"children":5982},{},[5983,5988,5989,5994,5996,6001,6003,6008,6010,6015,6017,6023],{"type":105,"tag":2942,"props":5984,"children":5985},{},[5986],{"type":111,"value":5987},"Dynamic data",{"type":111,"value":5902},{"type":105,"tag":135,"props":5990,"children":5992},{"className":5991},[],[5993],{"type":111,"value":60},{"type":111,"value":5995}," did not support ",{"type":105,"tag":135,"props":5997,"children":5999},{"className":5998},[],[6000],{"type":111,"value":2954},{"type":111,"value":6002}," or ",{"type":105,"tag":135,"props":6004,"children":6006},{"className":6005},[],[6007],{"type":111,"value":2961},{"type":111,"value":6009}," inside the callback. The same restriction applies to ",{"type":105,"tag":135,"props":6011,"children":6013},{"className":6012},[],[6014],{"type":111,"value":53},{"type":111,"value":6016},", but you can use ",{"type":105,"tag":135,"props":6018,"children":6020},{"className":6019},[],[6021],{"type":111,"value":6022},"'use cache: private'",{"type":111,"value":6024}," if needed.",{"type":105,"tag":322,"props":6026,"children":6027},{},[],{"type":105,"tag":120,"props":6029,"children":6031},{"id":6030},"limitations",[6032],{"type":111,"value":6033},"Limitations",{"type":105,"tag":3652,"props":6035,"children":6036},{},[6037,6047,6057],{"type":105,"tag":3656,"props":6038,"children":6039},{},[6040,6045],{"type":105,"tag":2942,"props":6041,"children":6042},{},[6043],{"type":111,"value":6044},"Edge runtime not supported",{"type":111,"value":6046}," - requires Node.js",{"type":105,"tag":3656,"props":6048,"children":6049},{},[6050,6055],{"type":105,"tag":2942,"props":6051,"children":6052},{},[6053],{"type":111,"value":6054},"Static export not supported",{"type":111,"value":6056}," - needs server",{"type":105,"tag":3656,"props":6058,"children":6059},{},[6060,6065,6066,6072,6073,6079,6081],{"type":105,"tag":2942,"props":6061,"children":6062},{},[6063],{"type":111,"value":6064},"Non-deterministic values",{"type":111,"value":1050},{"type":105,"tag":135,"props":6067,"children":6069},{"className":6068},[],[6070],{"type":111,"value":6071},"Math.random()",{"type":111,"value":1836},{"type":105,"tag":135,"props":6074,"children":6076},{"className":6075},[],[6077],{"type":111,"value":6078},"Date.now()",{"type":111,"value":6080},") execute once at build time inside ",{"type":105,"tag":135,"props":6082,"children":6084},{"className":6083},[],[6085],{"type":111,"value":53},{"type":105,"tag":114,"props":6087,"children":6088},{},[6089],{"type":111,"value":6090},"For request-time randomness outside cache:",{"type":105,"tag":127,"props":6092,"children":6094},{"className":350,"code":6093,"language":352,"meta":132,"style":132},"import { connection } from 'next\u002Fserver'\n\nasync function DynamicContent() {\n  await connection()  \u002F\u002F Defer to request time\n  const id = crypto.randomUUID()  \u002F\u002F Different per request\n  return \u003Cdiv>{id}\u003C\u002Fdiv>\n}\n",[6095],{"type":105,"tag":135,"props":6096,"children":6097},{"__ignoreMap":132},[6098,6135,6142,6166,6187,6225,6260],{"type":105,"tag":139,"props":6099,"children":6100},{"class":141,"line":142},[6101,6105,6109,6114,6118,6122,6126,6131],{"type":105,"tag":139,"props":6102,"children":6103},{"style":156},[6104],{"type":111,"value":159},{"type":105,"tag":139,"props":6106,"children":6107},{"style":167},[6108],{"type":111,"value":170},{"type":105,"tag":139,"props":6110,"children":6111},{"style":173},[6112],{"type":111,"value":6113}," connection",{"type":105,"tag":139,"props":6115,"children":6116},{"style":167},[6117],{"type":111,"value":181},{"type":105,"tag":139,"props":6119,"children":6120},{"style":156},[6121],{"type":111,"value":186},{"type":105,"tag":139,"props":6123,"children":6124},{"style":167},[6125],{"type":111,"value":191},{"type":105,"tag":139,"props":6127,"children":6128},{"style":194},[6129],{"type":111,"value":6130},"next\u002Fserver",{"type":105,"tag":139,"props":6132,"children":6133},{"style":167},[6134],{"type":111,"value":202},{"type":105,"tag":139,"props":6136,"children":6137},{"class":141,"line":152},[6138],{"type":105,"tag":139,"props":6139,"children":6140},{"emptyLinePlaceholder":209},[6141],{"type":111,"value":212},{"type":105,"tag":139,"props":6143,"children":6144},{"class":141,"line":205},[6145,6149,6153,6158,6162],{"type":105,"tag":139,"props":6146,"children":6147},{"style":219},[6148],{"type":111,"value":564},{"type":105,"tag":139,"props":6150,"children":6151},{"style":219},[6152],{"type":111,"value":372},{"type":105,"tag":139,"props":6154,"children":6155},{"style":375},[6156],{"type":111,"value":6157}," DynamicContent",{"type":105,"tag":139,"props":6159,"children":6160},{"style":167},[6161],{"type":111,"value":383},{"type":105,"tag":139,"props":6163,"children":6164},{"style":167},[6165],{"type":111,"value":247},{"type":105,"tag":139,"props":6167,"children":6168},{"class":141,"line":215},[6169,6173,6177,6182],{"type":105,"tag":139,"props":6170,"children":6171},{"style":156},[6172],{"type":111,"value":2596},{"type":105,"tag":139,"props":6174,"children":6175},{"style":375},[6176],{"type":111,"value":6113},{"type":105,"tag":139,"props":6178,"children":6179},{"style":254},[6180],{"type":111,"value":6181},"()  ",{"type":105,"tag":139,"props":6183,"children":6184},{"style":146},[6185],{"type":111,"value":6186},"\u002F\u002F Defer to request time\n",{"type":105,"tag":139,"props":6188,"children":6189},{"class":141,"line":250},[6190,6194,6198,6202,6207,6211,6216,6220],{"type":105,"tag":139,"props":6191,"children":6192},{"style":219},[6193],{"type":111,"value":644},{"type":105,"tag":139,"props":6195,"children":6196},{"style":173},[6197],{"type":111,"value":2418},{"type":105,"tag":139,"props":6199,"children":6200},{"style":167},[6201],{"type":111,"value":242},{"type":105,"tag":139,"props":6203,"children":6204},{"style":173},[6205],{"type":111,"value":6206}," crypto",{"type":105,"tag":139,"props":6208,"children":6209},{"style":167},[6210],{"type":111,"value":668},{"type":105,"tag":139,"props":6212,"children":6213},{"style":375},[6214],{"type":111,"value":6215},"randomUUID",{"type":105,"tag":139,"props":6217,"children":6218},{"style":254},[6219],{"type":111,"value":6181},{"type":105,"tag":139,"props":6221,"children":6222},{"style":146},[6223],{"type":111,"value":6224},"\u002F\u002F Different per request\n",{"type":105,"tag":139,"props":6226,"children":6227},{"class":141,"line":37},[6228,6232,6236,6240,6244,6248,6252,6256],{"type":105,"tag":139,"props":6229,"children":6230},{"style":156},[6231],{"type":111,"value":395},{"type":105,"tag":139,"props":6233,"children":6234},{"style":167},[6235],{"type":111,"value":699},{"type":105,"tag":139,"props":6237,"children":6238},{"style":254},[6239],{"type":111,"value":1294},{"type":105,"tag":139,"props":6241,"children":6242},{"style":167},[6243],{"type":111,"value":1299},{"type":105,"tag":139,"props":6245,"children":6246},{"style":173},[6247],{"type":111,"value":2277},{"type":105,"tag":139,"props":6249,"children":6250},{"style":167},[6251],{"type":111,"value":1144},{"type":105,"tag":139,"props":6253,"children":6254},{"style":254},[6255],{"type":111,"value":1294},{"type":105,"tag":139,"props":6257,"children":6258},{"style":167},[6259],{"type":111,"value":418},{"type":105,"tag":139,"props":6261,"children":6262},{"class":141,"line":283},[6263],{"type":105,"tag":139,"props":6264,"children":6265},{"style":167},[6266],{"type":111,"value":280},{"type":105,"tag":114,"props":6268,"children":6269},{},[6270],{"type":111,"value":6271},"Sources:",{"type":105,"tag":3652,"props":6273,"children":6274},{},[6275,6286,6295],{"type":105,"tag":3656,"props":6276,"children":6277},{},[6278],{"type":105,"tag":6279,"props":6280,"children":6283},"a",{"href":39,"rel":6281},[6282],"nofollow",[6284],{"type":111,"value":6285},"Cache Components Guide",{"type":105,"tag":3656,"props":6287,"children":6288},{},[6289],{"type":105,"tag":6279,"props":6290,"children":6292},{"href":40,"rel":6291},[6282],[6293],{"type":111,"value":6294},"use cache Directive",{"type":105,"tag":3656,"props":6296,"children":6297},{},[6298],{"type":105,"tag":6279,"props":6299,"children":6302},{"href":6300,"rel":6301},"https:\u002F\u002Fnextjs.org\u002Fdocs\u002Fapp\u002Fapi-reference\u002Ffunctions\u002Funstable_cache",[6282],[6303],{"type":111,"value":6304},"unstable_cache (legacy)",{"type":105,"tag":6306,"props":6307,"children":6308},"style",{},[6309],{"type":111,"value":6310},"html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"items":6312,"total":4526},[6313,6330,6348,6365,6378,6395,6410],{"slug":6314,"name":6314,"fn":6315,"description":6316,"org":6317,"tags":6318,"stars":23,"repoUrl":24,"updatedAt":6329},"ai-gateway","configure and manage Vercel AI Gateway","Vercel AI Gateway expert guidance. Use when configuring model routing, provider failover, cost tracking, or managing multiple AI providers through a unified API.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[6319,6322,6325,6328],{"name":6320,"slug":6321,"type":15},"AI Infrastructure","ai-infrastructure",{"name":6323,"slug":6324,"type":15},"Cost Optimization","cost-optimization",{"name":6326,"slug":6327,"type":15},"LLM","llm",{"name":9,"slug":8,"type":15},"2026-04-06T18:56:06.57787",{"slug":6331,"name":6331,"fn":6332,"description":6333,"org":6334,"tags":6335,"stars":23,"repoUrl":24,"updatedAt":6347},"auth","integrate authentication in Next.js apps","Authentication integration guidance — Clerk (native Vercel Marketplace), Descope, and Auth0 setup for Next.js applications. Covers middleware auth patterns, sign-in\u002Fsign-up flows, and Marketplace provisioning. Use when implementing user authentication.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[6336,6339,6342,6343,6346],{"name":6337,"slug":6338,"type":15},"Auth0","auth0",{"name":6340,"slug":6341,"type":15},"Authentication","authentication",{"name":18,"slug":19,"type":15},{"name":6344,"slug":6345,"type":15},"Security","security",{"name":9,"slug":8,"type":15},"2026-04-06T18:56:17.050565",{"slug":6349,"name":6349,"fn":6350,"description":6351,"org":6352,"tags":6353,"stars":23,"repoUrl":24,"updatedAt":6364},"bootstrap","bootstrap Vercel-linked repositories","Project bootstrapping orchestrator for repos that depend on Vercel-linked resources (databases, auth, and managed integrations). Use when setting up or repairing a repository so linking, environment provisioning, env pulls, and first-run db\u002Fdev commands happen in the correct safe order.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[6354,6357,6360,6363],{"name":6355,"slug":6356,"type":15},"Configuration","configuration",{"name":6358,"slug":6359,"type":15},"Deployment","deployment",{"name":6361,"slug":6362,"type":15},"Local Development","local-development",{"name":9,"slug":8,"type":15},"2026-04-06T18:56:18.297868",{"slug":6366,"name":6366,"fn":6367,"description":6368,"org":6369,"tags":6370,"stars":23,"repoUrl":24,"updatedAt":6377},"cdn-caching","debug Vercel CDN caching behavior","Debug Vercel CDN caching — cache hit rate, stale content, revalidation behavior, ISR + PPR, per-request cache reasons (cacheReason) and PPR state (ppr_state), and costs.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[6371,6372,6375,6376],{"name":21,"slug":22,"type":15},{"name":6373,"slug":6374,"type":15},"Observability","observability",{"name":13,"slug":14,"type":15},{"name":9,"slug":8,"type":15},"2026-07-30T05:31:34.628944",{"slug":6379,"name":6379,"fn":6380,"description":6381,"org":6382,"tags":6383,"stars":23,"repoUrl":24,"updatedAt":6394},"chat-sdk","build multi-platform chatbots with Vercel","Vercel Chat SDK expert guidance. Use when building multi-platform chat bots — Slack, Telegram, Microsoft Teams, Discord, Google Chat, GitHub, Linear — with a single codebase. Covers the Chat class, adapters, threads, messages, cards, modals, streaming, state management, and webhook setup.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[6384,6387,6390,6393],{"name":6385,"slug":6386,"type":15},"Agents","agents",{"name":6388,"slug":6389,"type":15},"Messaging","messaging",{"name":6391,"slug":6392,"type":15},"SDK","sdk",{"name":9,"slug":8,"type":15},"2026-04-06T18:56:26.921901",{"slug":6396,"name":6396,"fn":6397,"description":6398,"org":6399,"tags":6400,"stars":23,"repoUrl":24,"updatedAt":6409},"deployments-cicd","manage Vercel deployments and CI\u002FCD","Vercel deployment and CI\u002FCD expert guidance. Use when deploying, promoting, rolling back, inspecting deployments, building with --prebuilt, or configuring CI workflow files for Vercel.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[6401,6404,6405,6408],{"name":6402,"slug":6403,"type":15},"CI\u002FCD","ci-cd",{"name":6358,"slug":6359,"type":15},{"name":6406,"slug":6407,"type":15},"Operations","operations",{"name":9,"slug":8,"type":15},"2026-04-06T18:56:22.054263",{"slug":6411,"name":6411,"fn":6412,"description":6413,"org":6414,"tags":6415,"stars":23,"repoUrl":24,"updatedAt":6420},"env-vars","manage Vercel environment variables","Vercel environment variable expert guidance. Use when working with .env files, vercel env commands, OIDC tokens, or managing environment-specific configuration.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[6416,6417,6418,6419],{"name":6355,"slug":6356,"type":15},{"name":6406,"slug":6407,"type":15},{"name":6344,"slug":6345,"type":15},{"name":9,"slug":8,"type":15},"2026-04-06T18:56:28.150777",{"items":6422,"total":6585},[6423,6441,6453,6470,6481,6494,6510,6524,6536,6555,6565,6575],{"slug":6424,"name":6424,"fn":6425,"description":6426,"org":6427,"tags":6428,"stars":6438,"repoUrl":6439,"updatedAt":6440},"next-cache-components-adoption","enable and migrate to Next.js Cache Components","Turn on Cache Components in a Next.js app and resolve the blocking routes it surfaces. Use when the user wants to enable, adopt, or migrate to Cache Components, flip the `cacheComponents` flag, work through a flood of blocking-prerender \u002F instant validation errors, run the `cache-components-instant-false` codemod, or decide between opting routes out with `export const instant = false` and fixing them in place.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[6429,6430,6433,6436,6437],{"name":21,"slug":22,"type":15},{"name":6431,"slug":6432,"type":15},"Frontend","frontend",{"name":6434,"slug":6435,"type":15},"Migration","migration",{"name":18,"slug":19,"type":15},{"name":9,"slug":8,"type":15},141208,"https:\u002F\u002Fgithub.com\u002Fvercel\u002Fnext.js","2026-07-24T05:38:30.118542",{"slug":6442,"name":6442,"fn":6443,"description":6444,"org":6445,"tags":6446,"stars":6438,"repoUrl":6439,"updatedAt":6452},"next-cache-components-optimizer","optimize Next.js cache components","Drive a Next.js route to instant navigation by setting up an agentic loop, under Cache Components \u002F PPR, on initial load (hard navigation) and client-side navigation (soft navigation). Encode the goal as a failing @next\u002Fplaywright instant() e2e and work it to green, one verified route at a time; the shipped test then guards against regression. Use when asked to make a route's navigation instant (its static shell commits immediately), fix a route whose static shell isn't prerendered\u002Fserved\u002Fprefetched, grow a route's static shell or fix its slow first paint, diagnose which Suspense boundary keeps a route out of its static shell, or write the instant() e2e guard for one. Requires Next.js 16.3+ with cacheComponents; directs an upgrade if older.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[6447,6448,6449,6450,6451],{"name":21,"slug":22,"type":15},{"name":6431,"slug":6432,"type":15},{"name":18,"slug":19,"type":15},{"name":13,"slug":14,"type":15},{"name":9,"slug":8,"type":15},"2026-07-30T05:31:10.674078",{"slug":6454,"name":6454,"fn":6455,"description":6456,"org":6457,"tags":6458,"stars":6438,"repoUrl":6439,"updatedAt":6469},"next-dev-loop","verify Next.js runtime behavior","Verify Next.js runtime behavior after editing app code. Use this skill to confirm a change actually works in a running app — not just that it compiles or type-checks. Combines \u002F_next\u002Fmcp (Next.js's view) with agent-browser (the browser's view). Requires a running `next dev`.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[6459,6462,6463,6464,6465,6466],{"name":6460,"slug":6461,"type":15},"Debugging","debugging",{"name":6431,"slug":6432,"type":15},{"name":6361,"slug":6362,"type":15},{"name":18,"slug":19,"type":15},{"name":9,"slug":8,"type":15},{"name":6467,"slug":6468,"type":15},"Web Development","web-development","2026-05-22T06:45:28.627735",{"slug":6471,"name":6471,"fn":6472,"description":6473,"org":6474,"tags":6475,"stars":6438,"repoUrl":6439,"updatedAt":6480},"next-partial-prefetching-adoption","adopt Partial Prefetching in Next.js apps","Turn on Partial Prefetching in a Next.js app and work through the insights it surfaces. Use when the user wants to enable or adopt Partial Prefetching, flip the `partialPrefetching` flag, opt routes in with `export const prefetch = 'partial'`, audit `\u003CLink prefetch={true}>` calls, or resolve the link-prefetch-partial and instant-shell-url-data insights.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[6476,6477,6478,6479],{"name":6431,"slug":6432,"type":15},{"name":18,"slug":19,"type":15},{"name":13,"slug":14,"type":15},{"name":9,"slug":8,"type":15},"2026-07-30T05:31:11.591864",{"slug":6482,"name":6482,"fn":6483,"description":6484,"org":6485,"tags":6486,"stars":6491,"repoUrl":6492,"updatedAt":6493},"turborepo","manage monorepos with Turborepo","Turborepo monorepo build system guidance. Triggers on: turbo.json, task pipelines,\ndependsOn, caching, remote cache, the \"turbo\" CLI, --filter, --affected, CI optimization, environment\nvariables, internal packages, monorepo structure\u002Fbest practices, and boundaries.\n\nUse when user: configures tasks\u002Fworkflows\u002Fpipelines, creates packages, sets up\nmonorepo, shares code between apps, runs changed\u002Faffected packages, debugs cache,\nor has apps\u002Fpackages directories.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[6487,6488,6489],{"name":6402,"slug":6403,"type":15},{"name":13,"slug":14,"type":15},{"name":6490,"slug":6482,"type":15},"Turborepo",30809,"https:\u002F\u002Fgithub.com\u002Fvercel\u002Fturborepo","2026-07-30T05:32:14.920116",{"slug":6495,"name":6495,"fn":6496,"description":6497,"org":6498,"tags":6499,"stars":6507,"repoUrl":6508,"updatedAt":6509},"add-function-examples","add AI function examples for testing","Guide for adding new AI function examples, for testing specific features against the actual provider APIs.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[6500,6503,6506],{"name":6501,"slug":6502,"type":15},"AI SDK","ai-sdk",{"name":6504,"slug":6505,"type":15},"Testing","testing",{"name":9,"slug":8,"type":15},25670,"https:\u002F\u002Fgithub.com\u002Fvercel\u002Fai","2026-04-06T18:55:51.318866",{"slug":6511,"name":6511,"fn":6512,"description":6513,"org":6514,"tags":6515,"stars":6507,"repoUrl":6508,"updatedAt":6523},"add-harness-package","add AI SDK harness packages","Guide for adding new AI SDK harness packages. Use when creating a new @ai-sdk\u002Fharness-\u003Cname> package that adapts a coding-agent runtime to HarnessV1.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[6516,6517,6518,6521,6522],{"name":6385,"slug":6386,"type":15},{"name":6501,"slug":6502,"type":15},{"name":6519,"slug":6520,"type":15},"Harness","harness",{"name":6391,"slug":6392,"type":15},{"name":9,"slug":8,"type":15},"2026-06-18T08:29:19.858737",{"slug":6525,"name":6525,"fn":6526,"description":6527,"org":6528,"tags":6529,"stars":6507,"repoUrl":6508,"updatedAt":6535},"add-provider-package","add new provider packages to AI SDK","Guide for adding new AI provider packages to the AI SDK. Use when creating a new @ai-sdk\u002F\u003Cprovider> package to integrate an AI service into the SDK.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[6530,6531,6534],{"name":6501,"slug":6502,"type":15},{"name":6532,"slug":6533,"type":15},"API Development","api-development",{"name":9,"slug":8,"type":15},"2026-04-06T18:55:47.45549",{"slug":6537,"name":6537,"fn":6538,"description":6539,"org":6540,"tags":6541,"stars":6507,"repoUrl":6508,"updatedAt":6554},"adr-skill","create and maintain architecture decision records","Create and maintain Architecture Decision Records (ADRs) optimized for agentic coding workflows. Use when you need to propose, write, update, accept\u002Freject, deprecate, or supersede an ADR; bootstrap an adr folder and index; consult existing ADRs before implementing changes; or enforce ADR conventions. This skill uses Socratic questioning to capture intent before drafting, and validates output against an agent-readiness checklist.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[6542,6545,6548,6551],{"name":6543,"slug":6544,"type":15},"ADR","adr",{"name":6546,"slug":6547,"type":15},"Architecture","architecture",{"name":6549,"slug":6550,"type":15},"Documentation","documentation",{"name":6552,"slug":6553,"type":15},"Engineering","engineering","2026-04-06T18:55:50.043694",{"slug":6502,"name":6502,"fn":6556,"description":6557,"org":6558,"tags":6559,"stars":6507,"repoUrl":6508,"updatedAt":6564},"build AI features with Vercel AI SDK","Answer questions about the AI SDK and help build AI-powered features. Use when developers: (1) Ask about AI SDK functions like generateText, streamText, ToolLoopAgent, embed, or tools, (2) Want to build AI agents, chatbots, RAG systems, or text generation features, (3) Have questions about AI providers (OpenAI, Anthropic, Google, etc.), streaming, tool calling, structured output, or embeddings, (4) Use React hooks like useChat or useCompletion. Triggers on: \"AI SDK\", \"Vercel AI SDK\", \"generateText\", \"streamText\", \"add AI to my app\", \"build an agent\", \"tool calling\", \"structured output\", \"useChat\".",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[6560,6561,6562,6563],{"name":6385,"slug":6386,"type":15},{"name":6501,"slug":6502,"type":15},{"name":6326,"slug":6327,"type":15},{"name":9,"slug":8,"type":15},"2026-04-06T18:55:48.739463",{"slug":6566,"name":6566,"fn":6567,"description":6568,"org":6569,"tags":6570,"stars":6507,"repoUrl":6508,"updatedAt":6574},"capture-api-response-test-fixture","capture API response test fixtures","Capture API response test fixture.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[6571,6572,6573],{"name":6532,"slug":6533,"type":15},{"name":6504,"slug":6505,"type":15},{"name":9,"slug":8,"type":15},"2026-04-06T18:55:56.374433",{"slug":6576,"name":6576,"fn":6577,"description":6578,"org":6579,"tags":6580,"stars":6507,"repoUrl":6508,"updatedAt":6584},"develop-ai-functions-example","develop AI SDK function examples","Develop examples for AI SDK functions. Use when creating, running, or modifying examples under examples\u002Fai-functions\u002Fsrc to validate provider support, demonstrate features, or create test fixtures.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[6581,6582,6583],{"name":6501,"slug":6502,"type":15},{"name":6504,"slug":6505,"type":15},{"name":9,"slug":8,"type":15},"2026-04-06T18:55:55.088956",68]