mirror of
https://github.com/hanzoai/next.js.git
synced 2026-10-30 14:46:38 +00:00
The server actions transform, which handles the `'use cache'` directive, was not being applied to `node_modules` when imported from route handlers. This caused `'use cache'` functions from dependencies to fail with errors like `"cacheLife() can only be called inside a 'use cache' function"``. The issue was that the `AppRoute` context used `internal_custom_rules` for its foreign code module options, which did not include the server actions transform. This is inconsistent with `AppRSC` (App Router pages), which correctly uses `foreign_next_server_rules` that includes the transform. The fix extends `foreign_next_server_rules` with `internal_custom_rules` and uses it for the foreign code context in `AppRoute`, matching the pattern used by `AppRSC`.
9 lines
227 B
TypeScript
9 lines
227 B
TypeScript
import { getCachedRandomWithTag } from 'my-pkg'
|
|
|
|
export async function GET() {
|
|
const rand1 = await getCachedRandomWithTag('api')
|
|
const rand2 = await getCachedRandomWithTag('api')
|
|
|
|
return Response.json({ rand1, rand2 })
|
|
}
|