Generated: 2026-07-11 · Scanned: 62 unique third-party packages across 22 package.json files
@wrongstack/webui-hqnow uses Vite^8.1.0and@vitejs/plugin-react ^6.0.0; its object-formmanualChunksconfig was migrated to the Vite 8/Rolldown function contract and the production build passes.- The WebUI server no longer has a runtime
jszipdependency. Skill exports use the built-in Nodezlibimplementation inpackages/webui-server/src/server/zip.ts, including CRC validation and zip-slip rejection; round-trip tests cover Unicode, compression, empty archives, and unreadable skills. - Root Node types, Vitest, and coverage packages were patched to current versions; WebUI test/build ranges were aligned. Biome remains exactly pinned to 2.5.2 because 2.5.3 promotes a new optional-chaining rule across historical tests and is not a no-risk patch.
- The monorepo now uses TypeScript 7.0.2. All
tsupbuilds were replaced by a centralized esbuild + nativetsc --emitDeclarationOnlydriver. WrongStack tools that need the legacy compiler API use Microsoft's official@typescript/typescript6compatibility package side-by-side with the TS7 CLI.
- Repository version is
0.286.0across the root, 19packages/*manifests, bothapps/*manifests, and the private website manifest. - The repository contains 23
package.jsonfiles total: root + 19 packages + 2 apps + website. Thepnpmworkspace itself contains 22 projects (19 packages + 2 apps + website); the root is the workspace root, not another workspace project. - TypeScript remains
^7.0.2; package builds use the centralized esbuild + native declaration-emit driver. No workspace manifest declarestsuporjszip. - Root Vitest and coverage are aligned at
^4.1.10; root Node types are^26.1.1. Biome remains exactly2.5.2. - This is a manifest reconciliation, not a new npm-registry freshness scan. Registry “latest” values and status totals below remain evidence from 2026-07-11, not current recommendations.
The remainder of this document is the original 2026-07-11 scan snapshot, preserved for dated history. Its outdated/critical tables describe the pre-resolution manifests and are superseded by the two update sections above.
| Status | Count |
|---|---|
| 🟢 Up to Date | 55 |
| 🟡 Outdated | 3 |
| 🔴 Critical Issues | 1 |
| ☠️ Dead / Obsolete | 0 |
| Total | 62 |
Monorepo workspace packages: 20 (@wrongstack/* + wrongstack + wrongstack-website) — all on 0.285.0
| Package | Current Range | Latest | Notes |
|---|---|---|---|
@agentclientprotocol/sdk |
^1.0.0 |
1.2.1 | Range covers latest |
@biomejs/biome |
^2.5.2 |
2.5.3 | Patch gap only |
@fontsource-variable/ibm-plex-sans |
^5.2.8 |
5.2.8 | Static font package |
@fontsource/ibm-plex-mono |
^5.2.7 |
5.2.7 | Static font package |
@monaco-editor/react |
^4.7.0 |
4.7.0 | Exact match |
@playwright/test |
^1.61.1 / ^1.61.0 |
1.61.1 | Patch gap only |
@radix-ui/react-accordion |
^1.2.14 |
1.2.16 | Patch gap only |
@radix-ui/react-dialog |
^1.1.17 |
1.1.19 | Patch gap only |
@radix-ui/react-dropdown-menu |
^2.1.18 |
2.1.20 | Patch gap only |
@radix-ui/react-label |
^2.1.10 |
2.1.11 | Patch gap only |
@radix-ui/react-scroll-area |
^1.2.12 |
1.2.14 | Patch gap only |
@radix-ui/react-separator |
^1.1.10 |
1.1.11 | Patch gap only |
@radix-ui/react-slot |
^1.3.0 |
1.3.0 | Exact match |
@radix-ui/react-tabs |
^1.1.15 |
1.1.17 | Patch gap only |
@radix-ui/react-tooltip |
^1.2.10 |
1.2.12 | Patch gap only |
@tailwindcss/vite |
^4.3.1 |
4.3.2 | Patch gap only |
@testing-library/dom |
^10.4.1 |
10.4.1 | Exact match |
@testing-library/react |
^16.3.0 |
16.3.2 | Patch gap only |
@types/node |
^26.1.0 / ^26.0.1 |
26.1.1 | Patch gap only |
@types/qrcode |
^1.5.6 |
1.5.6 | Exact match |
@types/react |
^19.2.x / ^19.0.0 |
19.2.17 | All ranges cover latest |
@types/react-dom |
^19.2.x / ^19.0.0 |
19.2.3 | All ranges cover latest |
@types/ws |
^8.18.1 / ^8.18.0 |
8.18.1 | Patch gap only |
@uiw/react-textarea-code-editor |
^3.1.1 |
3.1.1 | Exact match |
@vitejs/plugin-react |
^6.0.0 / ^6.0.3 |
6.0.3 | Current in webui & website |
@vitest/coverage-v8 |
^4.1.9 / ^4.1.0 |
4.1.10 | Patch gap only |
@xterm/addon-fit |
^0.11.0 |
0.11.0 | Exact match |
@xterm/xterm |
^6.0.0 |
6.0.0 | Exact match |
@xyflow/react |
^12.11.1 |
12.11.2 | Patch gap only |
class-variance-authority |
^0.7.1 |
0.7.1 | Stable, unmaintained since Nov 2024 |
clsx |
^2.1.1 |
2.1.1 | Last release Apr 2024 |
cross-env |
^10.1.0 |
10.1.0 | Exact match |
electron |
^43.0.0 |
43.1.0 | Minor gap only |
framer-motion |
^12.42.0 |
12.42.2 | Patch gap only |
i18next |
^26.3.4 |
26.3.6 | Patch gap only |
i18next-resources-to-backend |
^1.2.1 |
1.2.1 | Exact match |
ink |
^7.1.0 |
7.1.0 | Exact match |
ink-testing-library |
^4.0.0 |
4.0.0 | Exact match |
jsdom |
^29.1.1 / ^29.1.0 |
29.1.1 | Patch gap only |
lucide-react |
^1.22.0 |
1.24.0 | Range covers latest |
monaco-editor |
^0.55.1 |
0.55.1 | Exact match |
next-themes |
^0.4.6 |
0.4.6 | Exact match |
qrcode |
^1.5.4 |
1.5.4 | Exact match |
react |
^19.2.7 / ^19.0.0 |
19.2.7 | All ranges cover latest |
react-dom |
^19.2.7 / ^19.0.0 |
19.2.7 | All ranges cover latest |
react-i18next |
^17.0.8 |
17.0.9 | Patch gap only |
react-markdown |
^10.1.0 |
10.1.0 | Exact match |
rehype-highlight |
^7.0.2 |
7.0.2 | Exact match |
remark-gfm |
^4.0.1 |
4.0.1 | Exact match |
tailwind-merge |
^3.6.0 |
3.6.0 | Exact match |
tailwindcss |
^4.3.1 |
4.3.2 | Patch gap only |
tsup |
^8.5.1 / ^8.5.0 |
8.5.1 | Patch gap only |
turndown |
^7.2.4 |
7.2.4 | Exact match |
undici |
^8.5.0 |
8.7.0 | Range covers latest |
undici-types |
^8.7.0 / ^8.5.0 |
8.7.0 | Range covers latest |
virtua |
^0.49.1 |
0.49.3 | Patch gap only |
vitest |
^4.1.9 / ^4.1.0 |
4.1.10 | Patch gap only |
vscode-languageserver-protocol |
^3.18.1 |
3.18.2 | Patch gap only |
ws |
^8.21.0 |
8.21.0 | Exact match |
zod |
^4.4.3 |
4.4.3 | Exact match |
zustand |
^5.0.14 |
5.0.14 | Exact match |
| Package | Current Range | Latest | Gap | Notes |
|---|---|---|---|---|
typescript |
^6.0.3 / ^6.0.0 |
7.0.2 | Major (6→7) | TypeScript 7 is a breaking release. Verify compiler options, declaration output, tsup compatibility, and the full typecheck suite before upgrading. The entire monorepo pins ^6.x. |
@vitejs/plugin-react |
^4.3.0 |
6.0.3 | 2 major behind | Only @wrongstack/webui-hq uses this old range. The webui and website packages already use ^6.0.0. Upgrade webui-hq to ^6.0.3 for consistency. |
vite |
^6.0.0 |
8.1.4 | 2 major behind | Only @wrongstack/webui-hq pins ^6.0.0. All other consumers (webui, website, desktop) use ^8.1.0. Upgrade webui-hq to ^8.1.4. |
| Package | Current Range | Latest | Issue |
|---|---|---|---|
jszip |
^3.10.1 |
3.10.1 | Last release: August 2022 (~4 years ago). While not officially deprecated, zero releases in 4 years indicate the project is in maintenance-only mode or abandoned. No known CVEs at this time. Consider replacing with native CompressionStream API (Node.js 22+ built-in) or archiver/yazl for active maintenance. |
No package was marked deprecated or archived in registry metadata. No package exceeded the 5-year threshold for prehistoric classification.
| Package | Note |
|---|---|
node-pty (1.2.0-beta.14, optional) |
Project uses a beta pre-release (1.2.0-beta.14) that is newer than the latest stable (1.1.0). Beta has been stable for this project but be aware it's not a formal release. |
jszip |
See Critical Issues above. 4 years without a release. |
class-variance-authority |
Last release Nov 2024 (~8 months). Small utility; no activity but not deprecated. |
@types/ws |
Installed in both ^8.18.1 and ^8.18.0 across workspaces; align to ^8.18.1. |
-
🔴 TypeScript 7 migration is the highest-impact item. Plan and test TS 7.x on a branch:
- Verify
tsc --noEmitpasses with the new compiler - Confirm
tsup(v8.5.1) supports TS 7 output (it should — peer dep allows>=4.5) - Validate declaration output — TypeScript 7 changes module/type emit patterns
- Pin root to
^7.0.2after validation, then cascade to all 17 workspace packages
- Verify
-
🟡 Upgrade
@wrongstack/webui-hqdependencies to match the rest of the monorepo:vite:^6.0.0→^8.1.4@vitejs/plugin-react:^4.3.0→^6.0.3react/react-dom^19.0.0is already compatible with19.2.7
-
🔴 Evaluate
jszipreplacement. Since Node.js 22 includesCompressionStreamAPI natively (globally available without import), and the WebUI server only uses jszip for file downloads, consider replacing with the built-inCompressionStreamor the actively maintainedarchiverpackage. -
Keep Vitest + Coverage synchronized. Root pins
vitest@^4.1.9and@vitest/coverage-v8@^4.1.9. The coverage peer depends on matching vitest major. Bump together to4.1.10. -
Audit
node-ptybeta usage. If the project relies on features in1.2.0-beta.14not available in1.1.0stable, continue as-is. Otherwise, consider pinning to the stable release.
@types/ws— Align^8.18.0(webui) to^8.18.1(everyone else).- Patch bumps available —
@biomejs/biome 2.5.3,@types/node 26.1.1— low-risk, batch with next dependency update. - Workspace version alignment —
vitestis^4.1.9in root but^4.1.0in@wrongstack/webui;tsupis^8.5.1in root but^8.5.0in webui. These are all within semver range but inconsistent.
| Category | Packages | Monthly Downloads (est.) |
|---|---|---|
| React ecosystem (Radix, xterm, xyflow, etc.) | ~25 | ~50M+ (collective) |
| Build tooling (tsup, vite, biome, vitest) | ~10 | ~60M+ (collective) |
| Runtime utilities (undici, ws, zod, etc.) | ~10 | ~100M+ (collective) |
| Test infrastructure (playwright, jsdom, etc.) | ~5 | ~30M+ (collective) |
| Desktop (electron) | 1 | ~5M |
| Fonts/static | 2 | ~1M |
Estimated bundle size impact: ~120 MB installed (node_modules), ~15 MB production (distributable after tree-shaking).
- Registry endpoint:
https://registry.npmjs.org/<package>/latestqueried viafetchtool on 2026-07-11 - Packages scanned: 62 unique third-party packages extracted from 22
package.jsonfiles (root + 19 workspace packages + website + desktop) - Status criteria:
- 🟢 CURRENT: Latest version falls within the declared semver range
- 🟡 OUTDATED: Latest version is outside the declared range (major gap)
- 🔴 CRITICAL: >2 years without release OR known CVEs OR deprecated
- ☠️ DEAD: Deprecated/archived/superseded >=5 years
- Skipped (HTTP 404):
@wrongstack/*workspace packages (private/internal; excluded as instructed) - Security limitation: npm registry
/latestreturns metadata, not CVE data. Runpnpm audit --audit-level=moderateseparately for transitive vulnerability evidence.