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`.
15 lines
348 B
TypeScript
15 lines
348 B
TypeScript
import { getCachedRandomWithCacheLife } from 'my-pkg'
|
|
|
|
export async function generateStaticParams() {
|
|
return [
|
|
{ id: `a${await getCachedRandomWithCacheLife(9)}` },
|
|
{ id: `b${await getCachedRandomWithCacheLife(2)}` },
|
|
]
|
|
}
|
|
|
|
export default async function Page() {
|
|
const value = getCachedRandomWithCacheLife(1)
|
|
|
|
return <p>{value}</p>
|
|
}
|