Repository navigation
docs(deployment): name the npm 10 edgesOut install failure and its npm 11 / overrides.vitest remedies - #23864
Merged
objectstack-fleet[bot] merged 2 commits intoOct 16, 2026
Conversation
…two remedies npm 10 (the npm Node 22 ships) cannot install @objectstack/cli or @objectstack/plugin-auth: better-auth's optional vitest peer resolves to vitest@4.1.12, whose @vitest/browser-webdriverio peer set is incoherent. - self-hosting: the self-built runtime recipe installs under a pinned npm 11 the way docker/Dockerfile does (and with the image's pg/mysql2 drivers, so "equivalent" holds); the host install upgrades npm to 11 first. - troubleshooting: one Installation Issues entry, findable by the error text, with both remedies and when the entry can be removed. - getting-started: a short npm 10 note at both Prerequisites tables. Claude-Session: https://claude.ai/code/session_016PVjjuVPte5XEJvaQx1E4t Co-authored-by: Claude <noreply@anthropic.com>
…m10-install-docs Claude-Session: https://claude.ai/code/session_016PVjjuVPte5XEJvaQx1E4t Co-authored-by: Claude <noreply@anthropic.com>
Contributor
Author
席位核对 · ACCEPT · PR #23864 (draft, head
|
objectstack-fleet
Bot
deleted the
claude/issue-23849-npm10-install-docs
branch
October 16, 2026 10:36
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes #23849
Clause-②: no
Docs only. npm 10, the npm that Node 22 ships, cannot install
@objectstack/clior@objectstack/plugin-authtoday. This PR names the failure where npm readers meet it and gives the two measured remedies: npm 11, or a rootoverrides.vitest. A global install can only use the first.Upstream, re-measured at claim (2026-10-16T09:13Z)
npm view vitest dist-tagsgivesV4: 4.1.12andlatest: 5.0.5.npm view @vitest/browser-webdriverio versions --jsonshows the 4.x line ending at4.1.11. There is no4.1.12.vitest@4.1.12has an optional peer@vitest/browser-webdriverio: ^4.1.11, and@vitest/browser-webdriverio@4.1.11peersvitest: 4.1.11exactly.better-auth@1.7.3has an optional peervitest: ^2.0.0 || ^3.0.0 || ^4.0.0.@objectstack/plugin-auth@next(18.0.0-next.2) still pinsbetter-auth: 1.7.3.Reproduction and remedies
Each case ran in a fresh empty directory with a fresh
--cache. Exit codes were captured before any pipe, and every tree was deleted afterwards. On the host: Node 22.22.0 with npm 10.9.4. In the container:node:22-slimatsha256:c3de60bf2f9dd0ac6370e6117950ff62d6e339527e7472301c9c78a017978392(Node 22.23.3, npm 10.9.9).edgesOutnpm install @objectstack/plugin-auth@nextnpm install -g @objectstack/cli@nextnpm install -g @objectstack/cli@17.7.0(the page's pin)npm create objectstack@latest my-app, no pnpm on PATH1eac7ad75, as writtennpm install @objectstack/plugin-auth@nextnpm install -g @objectstack/cli@nextnpm install -g @objectstack/cli@17.7.0npm install -g @objectstack/cli@nextnpm install -g @objectstack/cli@nextnpm create objectstack@latest my-appnpm installon npm 11 in that projectvitest: ~4.0.0npm install @objectstack/plugin-auth@nextnpm install @objectstack/cli@nextnpm install -g @objectstack/cli@next-greads no overridesnpm cion 10.9.4@objectstack/cli17.7.0 as a devDependency, no overridepnpm add @objectstack/plugin-auth@nextdc2370288, as writtenBoth published scaffolders ship a blank template with no
overrides:create-objectstack@17.7.0(latest) and@18.0.0-next.2(next). The template fix from #23799 is onmainbut not released yet, which is why case K fails.Checks on the new-recipe image, run with
docker run:os --versionprints@objectstack/cli/17.7.0./tmp/os-installer-npmis gone.pgandmysql2resolve from driver-sql's directory.vitestis installed.The boot is NOT MEASURED. The build context carried a placeholder artifact, and the only line this PR changes is the install
RUN.How the Docker builds ran: a private
dockerdin this container, behind its agent proxy. The base wasnode:22-slimat the digest above, with the proxy CA added throughNODE_EXTRA_CA_CERTSand re-tagged locally. The builds used--network hostand took the proxy as build args. Each recipe was extracted byte-for-byte from the committed page, not retyped.Pages changed
content/docs/deployment/self-hosting.mdx/tmp, put first on PATH for thatRUN, and deleted in the same layer. This is the shapedocker/Dockerfilehas used since fix(devx): npm 10 crashes withedgesOuton the vendor-export probe and the blank scaffold — the probe installs with a pinned npm 11, the template overrides vitest #23799.docker/Dockerfile's"pg@^8.0.0" "mysql2@^3.0.0". The page presents this recipe as what "the official image is nothing more than", and without the drivers that is not true. Both drivers are optional peers of@objectstack/driver-sql@17.7.0, which npm does not install, and the new image's CLI tree carries nopgof its own.@objectstack/cli@17.7.0literal stays, socheck:docs-image-tagstill reads it.npm install -g npm@11now comes before the CLI install. npm 11 needs Node 22.9 or newer (theenginesofnpm@11.21.1). The text saysnpm@11and notnpm@latest, becausenpm@latestis 12.2.0, which warns on Node 22.22.0.content/docs/deployment/troubleshooting.mdx: a new "Installation Issues" section with one entry, headed by the error text (anchor#cannot-read-properties-of-null-reading-edgesout-from-npm-install). It gives the symptom, a one-line cause, both fixes, and when the entry and the notes that link to it can be removed.content/docs/getting-started/index.mdxandcontent/docs/getting-started/your-first-project.mdx: one warn Callout at each Prerequisites table. Both pages tell an npm user to scaffold, and the published scaffolder's install step fails on npm 10 (case K).build-with-claude-code.mdxlinks to the first one for its prerequisites.This PR leaves the
dockerfile title="Dockerfile"block alone. That is the scaffold's build stage:dockerfile-build-stage.test.tspins it to the template, and itsnpm cifrom a lockfile is not affected (case L).Pages grepped and left alone
I ran
git grepovercontent/docs/**, excludingreleases/**andreferences/**. It searched fornpm install,npm i,npm ci,npm install -g,npm create objectstack,npx create-objectstack, andpnpm addoryarn addof the CLI or plugin-auth. These matches stay as they are:getting-started/build-with-claude-code.mdx:51(npm create objectstack@latest). Its prerequisites link togetting-started#prerequisites, which now carries the note.getting-started/index.mdx:186:npm install -g pnpm, not the CLI.deployment/install-modes.mdx: no npm install of the CLI or plugin-auth, onlyos package install.deployment/cli.mdx:14(pnpm add -D @objectstack/cli),permissions/authentication.mdx:98andplugins/index.mdx:196(pnpm add @objectstack/plugin-auth): these use pnpm, which passes (case M).deployment/cli.mdx:26,100,capabilities/index.mdx:30andai/skills-reference.mdx:36(npm create objectstack@latest): outside this claim's file surface, so not edited. Readers there can find the troubleshooting entry by the error text. They are named in the Acceptance notes.npm installof other packages (@objectstack/driver-turso,@objectstack/skills,@objectstack/core,pg,mysql2): plugin-auth is not in their trees.skills/objectstack-platform/references/bootstrap.md(comment 6211828218): a Tier H file, not in this claim, and left with triage.Gates (local, at
7f4e1158e)node scripts/pm/dispatch-gates.mjs --commands --repo objectstack-ai/objectstackderived 41 commands. All 41 ran and all exited 0. The--ranreconciliation reports 41 derived, 41 run, 0 NOT-MEASURED and 0 UNRUN.check:docs-transcript-driftneeded@objectstack/lint...built.@objectstack/spec check:skill-examplesneeded@objectstack/client-react...built.check:docs-image-tagexits 0.create-objectstack:src/dockerfile-build-stage.test.ts, 5 of 5 pass.@objectstack/cli: the doc-floor cases oftest/scaffold-emission-policy.e2e.test.ts(a nightly-tier file), 2 pass. The TypeScript floors it reads (5.3+and5.3.0 or later) are unchanged.@mdx-js/mdxandremark-gfmpasses for all four. The control, one page with its closing Callout tags removed, fails.node scripts/pm/check-governed-merges.mjs --branch claude/issue-23849-npm10-install-docsreports the PR as not governed, with 54 changed lines.Build Docsjob and the rest of CI are read from this PR's check-runs.Acceptance notes
create-objectstackprints "Runnpm installmanually.", but its "Next steps" list leavesnpm installout. It prints that step only under--skip-install(theoptions.skipInstallbranch of the next-steps block inpackages/create-objectstack/src/index.ts). Measured on 17.7.0 in case K. Reported to the seat, not fixed here.deployment/cli.mdx,capabilities/index.mdxandai/skills-reference.mdxalso tell npm readers to scaffold, but they are outside this claim's surface.Generated by Claude Code