The imgx integration (#2264) pinned ts-images@^0.1.11. A caret on a 0.x release cannot cross a minor, so it was frozen an entire minor behind while upstream shipped through to 0.2.17.
API compatibility
Despite the minor bump, nothing rpx uses changed. All thirteen entry points imgx.ts and its tests reach for are still exported:
present: decode, encode, getMetadata, resize, rotate, flip, flop,
blur, sharpen, grayscale, modulate, tint, createImageData
MISSING: nonetsc --noEmit is clean, so the type surface matches too.
Verified beyond the test suite
The imgx tests mostly assert headers and params, so I also drove real transforms through createProxyFetchHandler against a live upstream and decoded the output:
| case | 0.1.11 | 0.2.17 |
|---|---|---|
?w=200 | 200x150, 425B | 200x150, 425B |
?w=400&h=400&fit=crop | 400x400, 1337B | 400x400, 1337B |
?w=320&fm=webp | 320x240, 932B | 320x240, 224B |
?w=150&blur=5 | — | 150x113, 341B |
?w=150&greyscale=true | — | 150x113, 338B |
?w=150&rot=90 | — | 150x200, 537B |
?w=200 repeat | hit | hit |
Identical dimensions across the board, with webp encoding improving sharply. Rotation still composes before resize (?w=150&rot=90 on an 800x600 source gives 150x200, i.e. rotate to 600x800 then scale to width 150), so ordering semantics are unchanged. The LRU still hits on a repeat request.
Also pulled in
@stacksjs/ts-avif ^0.1.0 → ^0.1.4, @stacksjs/ts-webp ^0.1.0 → ^0.1.2.
Verification
bun run test: 542 pass / 0 fail, plus 7/0 for vite-plugintsc --noEmit: 0 errorspickier: 0 errors (1 pre-existing warning indataplane/README.md, untouched)
Diff is packages/rpx/package.json + bun.lock only.
🤖 Generated with Claude Code