Skip to content

build: move to the two-package dev-dependency layout - #618

Merged
aversini merged 1 commit into
mainfrom
chore/two-package-bundles
Jul 29, 2026
Merged

aversini merged 1 commit into
mainfrom
chore/two-package-bundles

Conversation

@aversini

Copy link
Copy Markdown
Collaborator

Step 2 of the dev-dependencies restructure (versini-org/dev-dependencies#872), repointing this repo at the new layout.

Pins

dev-dependencies collapsed four bundles into two — common (baseline tooling + the shared @types/*) and client (the browser toolchain). server and types are gone: server was 9-of-13 duplicated in client, and types is wanted wherever TypeScript runs.

common 12.0.0 → 13.0.0
client 13.0.20 → 14.0.0
server, types dropped

Packages that left the bundles

Seven packages were used by only one or two repos, so they're now declared by the repos that use them instead of shipped to everyone. Whatever this repo actually uses is declared in the same commit as the pin change, so no install ever sees a half-migrated state.

Placement rule: binaries invoked in scripts → repo root (pnpm puts the root .bin on PATH for every workspace script, which is exactly how the bundle supplied them); imported modules → the package that imports them (module resolution needs it local).

Two of the seven — prettier and rollup — are deliberately not re-added anywhere. Both turned out to be unused ecosystem-wide: every prettier script runs biome check --write (the name is a leftover from before the biome migration), and the rollup hits are rollup-plugin-copy and Vite's rollupOptions config key.

Verification

lint, test, and build all pass (plus typecheck where this repo has one).

Anything added here was checked to actually resolve — including the cases the gates don't reach, since dev scripts aren't run by any gate.

🤖 Generated with Claude Code

https://claude.ai/code/session_01X6DpUPA4ofQeXDyLbhPzdW

dev-dependencies collapsed its four bundles into two: common (the baseline
plus the shared @types) and client (the browser toolchain). This repo has
no browser-facing code, so it now pins common alone.

  common 12.0.0 -> 13.0.0
  server, types  -> dropped

That is the point of the restructure for this repo: server existed mainly
to hold @swc/*, which is now baseline, and pinning client was never
wanted. It no longer installs rsbuild, tailwind, testing-library or
happy-dom at all.

barrelsby left the bundles and is used by the build:barrel script in
twelve packages here, so it is declared at the root — pnpm puts the root
.bin on PATH for every workspace script, which is how the bundle supplied
it before.

lint, test and build all pass; build:barrel runs inside the build gate, so
barrelsby is genuinely exercised.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01X6DpUPA4ofQeXDyLbhPzdW
@aversini
aversini merged commit 6ac9f69 into main Jul 29, 2026
5 checks passed
@aversini
aversini deleted the chore/two-package-bundles branch July 29, 2026 13:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant