fix(journal): drop the retired @simplewebauthn/types package #15

Merged
ullrich merged 1 commit from fix/simplewebauthn-types-deprecation into main 2026-07-26 17:41:49 +00:00
Owner

Flagged by Renovate's dependency dashboard (#12) as deprecated with no automatic replacement available, so it needed doing by hand.

The migration

SimpleWebAuthn retired the standalone types package in v13.0.0. The release notes say to "refactor existing imports from /types [and] simply import them from /browser or /server instead".

There was exactly one usage, and it is server-side, so apps/journal/app/lib/auth.server.ts now takes RegistrationResponseJSON, AuthenticationResponseJSON and AuthenticatorTransportFuture from @simplewebauthn/server. That package owns those types now and no longer depends on @simplewebauthn/types at all, so the dependency is removed outright rather than replaced.

A latent mismatch this also clears

The versions had already drifted a major: browser and server were on 13.x while the types package sat at 12.0.0. So the types being compiled against were a major behind the runtime implementing them.

Harmless in this specific case — I diffed all three definitions between 12.0.0 and 13.3.2 before touching anything and they are byte-identical — but it is precisely the mismatch that the @types/* major-ignore rule in the dependency config exists to prevent ("a mismatched type package breaks typecheck without buying anything"), and it would not have stayed harmless indefinitely.

Verification

  • pnpm --filter @trails-cool/journal typecheck — clean (this is the meaningful check: if @simplewebauthn/server did not re-export these, it would fail here)
  • pnpm --filter @trails-cool/journal lint — clean
  • pnpm --filter @trails-cool/journal test367 passed, 79 skipped
  • no remaining references to @simplewebauthn/types anywhere in the repo or lockfile
Flagged by Renovate's dependency dashboard (#12) as deprecated with **no automatic replacement available**, so it needed doing by hand. ## The migration SimpleWebAuthn retired the standalone types package in [v13.0.0](https://github.com/MasterKale/SimpleWebAuthn/releases/tag/v13.0.0). The release notes say to *"refactor existing imports from /types [and] simply import them from /browser or /server instead"*. There was exactly one usage, and it is server-side, so `apps/journal/app/lib/auth.server.ts` now takes `RegistrationResponseJSON`, `AuthenticationResponseJSON` and `AuthenticatorTransportFuture` from `@simplewebauthn/server`. That package owns those types now and no longer depends on `@simplewebauthn/types` at all, so the dependency is removed outright rather than replaced. ## A latent mismatch this also clears The versions had already drifted a **major**: `browser` and `server` were on 13.x while the types package sat at `12.0.0`. So the types being compiled against were a major behind the runtime implementing them. Harmless in this specific case — I diffed all three definitions between 12.0.0 and 13.3.2 before touching anything and they are byte-identical — but it is precisely the mismatch that the `@types/*` major-ignore rule in the dependency config exists to prevent ("a mismatched type package breaks typecheck without buying anything"), and it would not have stayed harmless indefinitely. ## Verification - `pnpm --filter @trails-cool/journal typecheck` — clean (this is the meaningful check: if `@simplewebauthn/server` did not re-export these, it would fail here) - `pnpm --filter @trails-cool/journal lint` — clean - `pnpm --filter @trails-cool/journal test` — **367 passed**, 79 skipped - no remaining references to `@simplewebauthn/types` anywhere in the repo or lockfile
fix(journal): drop the retired @simplewebauthn/types package
All checks were successful
CD Staging / Build & Push Docker Images (pull_request) Has been skipped
CD Staging / Build & Push Docker Images-1 (pull_request) Has been skipped
CD Staging / Deploy Staging (pull_request) Has been skipped
CD Staging / Deploy PR Preview (pull_request) Has been skipped
CI / Security Scan (pull_request) Successful in 37s
CI / Dockerfile Package Check (pull_request) Successful in 14s
CI / Checks (pull_request) Successful in 3m29s
CI / Visual Tests (pull_request) Successful in 1m40s
CI / Journal Image Smoke Test (pull_request) Successful in 11m20s
CI / E2E Tests (pull_request) Successful in 9m2s
CD Staging / Tear Down PR Preview (pull_request) Successful in 47s
c36f2fd491
SimpleWebAuthn retired the standalone types package in v13.0.0; the release
notes say to "refactor existing imports from /types [and] simply import them
from /browser or /server instead". The only usage here is server-side, so
auth.server.ts now takes RegistrationResponseJSON, AuthenticationResponseJSON
and AuthenticatorTransportFuture from @simplewebauthn/server, which owns them
and no longer depends on the types package at all.

Worth noting the versions had already drifted a major: browser and server were
on 13.x while the types package sat at 12.0.0, so the types being compiled
against were a major behind the runtime. Harmless in this instance — the three
definitions are byte-identical between 12.0.0 and 13.3.2, which I checked before
touching anything — but it is exactly the mismatch the \`@types/*\` major-ignore
rule in the dependency config exists to prevent, and it would not have stayed
harmless.

Surfaced by Renovate's dependency dashboard, which flagged the package as
deprecated with no automatic replacement available.

Verified: journal typecheck, lint, and 367 unit tests pass.
ullrich deleted branch fix/simplewebauthn-types-deprecation 2026-07-26 17:41:50 +00:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
trails-cool/trails!15
No description provided.