A version written into a manifest is written into every manifest that wants it,
which is how eslint came to exist in a hundred and four forms across this estate
and how a package came to resolve twice at run time. The catalog moves the number
out of the manifest: a manifest names the package, the workspace names the
version.
Four are held below their latest because the newer release cannot be used, and
the reason is recorded rather than the version alone: @noble/hashes 2 renamed
every subpath the web3 stack imports, @splinetool/runtime 2 depends on a package
that was never published, @dynamic-labs 5.4.1 the same, and react-resizable-panels
3 points its types condition at the bundle.
Co-authored-by: Hanzo Dev <[email protected]>
Every dependency on a @hanzo/@luxfi/@zooai package now names the same version
across the repo: a catalog entry where pnpm supports one, an exact pin where it
does not, and a range only where a peer genuinely means one.
pnpm itself is pinned too — the estate ran eighteen different versions, five of
them too old to read a catalog.
Co-authored-by: Hanzo Dev <[email protected]>
`@hanzo/docs-preview` was the one package that would not build:
`waku` was declared twice with contradictory pins — `1.0.0-alpha.6` in
`dependencies`, `1.0.0-beta.1` in `devDependencies`. dependencies won, so
the build ran on alpha.6, which pulls vite 7; `resolve.tsconfigPaths` is a
vite 8 feature, so every `@/*` import silently failed to resolve:
[vite]: Rollup failed to resolve import "@/lib/source"
from src/pages/_api/api/search.ts
One declaration, in `dependencies`, at the newer pin. waku beta.1 brings
vite 8, tsconfigPaths resolves, the package builds.
`apps/dns-docs/postcss.config.mjs` was the only app still on the Tailwind v3
plugin form (`tailwindcss` + an undeclared `autoprefixer`) while its CSS is
v4 (`@import 'tailwindcss'`). It now matches the other twenty apps.
`@typescript/native-preview` is gone: 7.0.0-dev is *behind* typescript 7
stable, and nothing in the repo invoked tsgo.
Dead deps dropped after verifying zero references: `tailwindcss-animate`
(a Tailwind v3 plugin, in three v4 apps), stray `tailwind-merge`,
`class-variance-authority` in preview.
turbo run build --filter='./packages/*' --continue
Tasks: 30 successful, 30 total (was 29/30)
(cherry picked from commit 773ee151c239bc5f22b148c34a6adb854410be31)
Co-authored-by: Hanzo Dev <[email protected]>
`changeset publish` shells out to `npm publish`, which does NOT rewrite the
workspace protocol. `pnpm publish` does. So every package here that depends
on a sibling shipped its `workspace:*` specifier verbatim, and no consumer
outside this monorepo can install it:
ERR_PNPM_WORKSPACE_PKG_NOT_FOUND "@hanzo/docs-core@workspace:*" is in the
dependencies but no package named "@hanzo/docs-core" is present in the workspace
@hanzo/[email protected] ships all 12 of its sibling deps that way. Also affected
at their current latest: docs-base-ui, docs-ui, docs-openapi, docs-create-app,
docs-story. The defect is invisible in CI and inside the monorepo — only an
external consumer ever sees it, which is why it went unnoticed.
`changeset tag` is kept so releases still get their git tags; only the publish
step moves. `bumpVersionsWithWorkspaceProtocolOnly` in .changeset/config.json
governs version BUMPING, not publish-time rewriting — it does not protect
against this.
Co-authored-by: Hanzo Dev <[email protected]>