Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 17 additions & 0 deletions .changeset/docs-drop-standalone-output.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
---
'@objectstack/docs': patch
---

docs site: drop `output: 'standalone'` so the production build stops failing

The production build of the docs site died at the end of `next build` with
`ENOENT: no such file or directory, open '.../apps/docs/.next/next-server.js.nft.json'`,
so nothing merged to `main` reached the site.

That file is opened by the standalone packer (`writeStandaloneDirectory` ->
`copyTracedFiles`), which Next calls **only** when `output === 'standalone'`.
Nothing in this repo consumes `.next/standalone` — no Dockerfile, workflow,
script or config references it, and `docker/Dockerfile` does not build
`apps/docs` at all — and Vercel does its own serverless packaging. The setting
served no consumer and was the sole reason that read happened, so removing it
removes the only code path that can raise this error.
14 changes: 13 additions & 1 deletion apps/docs/next.config.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,19 @@ const withMDX = createMDX();
/** @type {import('next').NextConfig} */
const config = {
reactStrictMode: true,
output: 'standalone',
// No `output: 'standalone'` here on purpose. The standalone packer
// (`writeStandaloneDirectory` -> `copyTracedFiles`) opens
// `.next/next-server.js.nft.json`, and that open is the ONLY thing in a
// production build that reads it. Vercel builds this app with Turbopack via
// `vercel.json`'s `pnpm turbo run build --filter=@objectstack/docs`, and the
// production build died there with ENOENT on that file while the same cold
// build passes locally -- so the trace set is absent under Vercel's builder
// specifically. Nothing in this repo consumes `.next/standalone`: no
// Dockerfile, workflow, script or config references it, and `docker/Dockerfile`
// does not build apps/docs at all. Vercel does its own serverless packaging,
// so the setting bought nothing here and cost the whole deployment. If this
// app ever gains a self-hosted Node target that needs the standalone bundle,
// reintroduce it together with a builder that emits the trace set.
experimental: {
// The docs site prerenders 400+ MDX pages. Next spawns one static-generation
// worker per CPU, and on Vercel's high-core build container that fan-out
Expand Down
Loading