Accept: text/markdown header. For an index of Next.js documentation, see /docs/llms.txt.exposeTestingApiInProductionBuild
experimental.exposeTestingApiInProductionBuild includes the Instant Navigation testing API in a production build. The instant() helper from @next/playwright uses this API to pause request-time content while an end-to-end test asserts on the UI available immediately.
Enable the option only for a dedicated test build:
import type { NextConfig } from 'next'
const exposeTestingApi = process.env.EXPOSE_TESTING_API === '1'
const nextConfig: NextConfig = {
cacheComponents: true,
experimental: {
exposeTestingApiInProductionBuild: exposeTestingApi,
},
}
export default nextConfigSet the condition when running next build, then serve that build with next start:
EXPOSE_TESTING_API=1 pnpm build
pnpm startSetting the condition only for next start does not add the testing API to an existing build.
Reference
| Value | Behavior |
|---|---|
false or unset | Excludes the testing API from production builds. This is the default. |
true | Includes the testing API in the production build. |
The option requires cacheComponents. Development builds expose the testing API automatically when Cache Components is enabled.
Good to know: Do not enable this option for a user-facing production deployment. Restrict it to local production builds, preview deployments, or other environments used for end-to-end tests.
Version History
| Version | Changes |
|---|---|
v16.2.0 | experimental.exposeTestingApiInProductionBuild introduced. |
Related
Was this helpful?