Drop the @punktfunk/host dependency this plugin never imports #1

Merged
enricobuehler merged 1 commits from chore/drop-spurious-sdk-dep into main 2026-08-08 16:16:51 +00:00
Owner

This plugin imports nothing from the SDK — everything it uses comes from @punktfunk/plugin-kit, which already declares @punktfunk/host as a peerDependency. Listing it here as a runtime dependency was redundant, and the redundancy had a cost.

It is what stops an SDK fix from ever reaching an installed plugin. With the SDK declared per-plugin, bun honours each plugin's own locked resolution and gives it a private nested copy under node_modules/@punktfunk/plugin-steam/node_modules/, which then shadows the shared copy at the root of the operator's plugins tree.

Measured on a live host 2026-08-08: publishing @punktfunk/host@0.1.3 — the release that lets a library scanner register category, so it stays out of the console nav — updated the tree root and still left five nested 0.1.2 copies, so every plugin kept importing the old SDK and the fix appeared to do nothing.

Dropping it leaves the kit's peer range as the single source of truth: one hoisted copy, which the host can actually keep current (punktfunk#117).

Nothing about the runtime changes. bun installs the kit's peer and the SDK resolves exactly as before — verified here: @punktfunk/host still resolves (0.1.3), and typecheck, tests, lint and build are all green.

Version → 0.1.1; publishing is what carries the change to operators. The lockfile is also refreshed onto the current kit (0.3.3), so CI tests against what operators actually get.

This plugin imports nothing from the SDK — everything it uses comes from `@punktfunk/plugin-kit`, which already declares `@punktfunk/host` as a **peerDependency**. Listing it here as a runtime dependency was redundant, and the redundancy had a cost. **It is what stops an SDK fix from ever reaching an installed plugin.** With the SDK declared per-plugin, bun honours each plugin's own locked resolution and gives it a *private nested copy* under `node_modules/@punktfunk/plugin-steam/node_modules/`, which then shadows the shared copy at the root of the operator's plugins tree. Measured on a live host 2026-08-08: publishing `@punktfunk/host@0.1.3` — the release that lets a library scanner register `category`, so it stays out of the console nav — updated the tree root and still left **five nested 0.1.2 copies**, so every plugin kept importing the old SDK and the fix appeared to do nothing. Dropping it leaves the kit's peer range as the single source of truth: one hoisted copy, which the host can actually keep current (punktfunk#117). **Nothing about the runtime changes.** bun installs the kit's peer and the SDK resolves exactly as before — verified here: `@punktfunk/host` still resolves (0.1.3), and typecheck, tests, lint and build are all green. Version → **0.1.1**; publishing is what carries the change to operators. The lockfile is also refreshed onto the current kit (0.3.3), so CI tests against what operators actually get.
enricobuehler added 1 commit 2026-08-08 12:14:12 +00:00
fix(deps): drop the @punktfunk/host dependency this plugin never imports
CI / build (pull_request) Successful in 16s
CI / publish (pull_request) Skipped
9358135b54
This plugin imports nothing from the SDK — everything it uses comes from
`@punktfunk/plugin-kit`, which already declares `@punktfunk/host` as a
peerDependency. Listing it here as a runtime dependency was redundant, and the
redundancy had a cost.

It is what stops an SDK fix from ever reaching an installed plugin. With the SDK
declared per-plugin, bun honours each plugin's own locked resolution and gives it a
PRIVATE NESTED COPY under `node_modules/@punktfunk/plugin-<x>/node_modules/`, which
then shadows the shared copy at the root of the operator's plugins tree. Measured on
a live host 2026-08-08: publishing `@punktfunk/host@0.1.3` — the release that lets a
library scanner register `category`, so it stays out of the console nav — reached the
tree root and still left five nested 0.1.2 copies, so every plugin kept importing the
old SDK and the fix appeared to do nothing.

Dropping it leaves the kit's peer range as the single source of truth, so there is one
hoisted copy that the host can actually keep current.

Nothing about the runtime changes: bun installs the kit's peer, and the SDK resolves
exactly as before — verified here (host 0.1.3 resolved, typecheck, tests, lint and
build all green).

Version bumped to 0.1.1; publishing is what carries the change to operators.
enricobuehler merged commit 5e714e475c into main 2026-08-08 16:16:51 +00:00
enricobuehler deleted branch chore/drop-spurious-sdk-dep 2026-08-08 16:16:53 +00:00
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: unom/punktfunk-plugin-steam#1