chore(deps): remove unused dependencies and harden CI supply chain#5119
Conversation
Dependency cleanup: - Remove unused deps: papaparse, unified, and 6 unused Radix primitives (alert-dialog, radio-group, scroll-area, separator, toggle, visually-hidden) plus @tanstack/react-query-devtools (all verified zero imports repo-wide) - Consolidate jwt-decode into the existing jose dependency (decodeJwt) - Migrate react-window to @tanstack/react-virtual to drop a redundant virtualization library (terminal, structured-output, code viewer) - Remove the better-auth-harmony plugin and its gating env flag Supply-chain hardening: - SHA-pin every GitHub Action to a full commit SHA with a version comment - Pin CI bun-version to 1.3.13 (was "latest" in the release job) - Raise bun minimumReleaseAge cooldown from 3 to 7 days - Add a non-blocking `bun audit` step in CI - Add a CODEOWNERS gate routing dependency-manifest changes to @simstudioai/deps
|
The latest updates on your projects. Learn more about Vercel for GitHub. |
PR SummaryMedium Risk Overview Dependencies: Drops unused packages (e.g. Auth: Removes the CI / repo policy: GitHub Actions Minor UX: Command palette moves New chat from static pages into a global action; Invite teammates uses a different icon. Reviewed by Cursor Bugbot for commit 8f7b3b5. Configure here. |
Greptile SummaryThis PR removes a significant number of unused dependencies, migrates two virtualization call-sites from
Confidence Score: 5/5Safe to merge — all removed packages are verified zero-import, the react-virtual migration follows the library's documented patterns, and the jwt-decode → jose swap is drop-in with existing try/catch coverage. Every dependency removal is backed by a zero-import audit. The three react-window → react-virtual migrations are structurally sound: fixed-height rows in terminal and structured-output use straightforward absolute positioning, and the code viewer correctly delegates dynamic wrap-mode measurement to virtualizer.measureElement refs. The jose decodeJwt swap is behaviorally identical and stays inside existing error handling. CI workflow changes are mechanical SHA substitutions with version comments. No auth, data, or correctness regressions were identified. No files require special attention. The code.tsx virtualizer implementation (dynamic row heights via measureElement) is the most novel part of the change and would benefit from manual wrap-mode smoke testing. Important Files Changed
Flowchart%%{init: {'theme': 'neutral'}}%%
flowchart TD
subgraph Removed["Removed Dependencies"]
A[react-window]
B[jwt-decode]
C[better-auth-harmony]
D[papaparse and unified]
E[6x Radix primitives]
end
subgraph Consolidated["Consolidated Into Existing Deps"]
G["@tanstack/react-virtual\nalready present"]
H["jose decodeJwt\nalready present"]
end
A -->|migrated to| G
B -->|replaced by| H
subgraph Virt["Virtualized Components"]
V1["terminal.tsx\nfixed-height rows"]
V2["structured-output.tsx\nfixed-height rows"]
V3["code.tsx\ndynamic wrap-mode heights\nvia measureElement"]
end
G --> V1
G --> V2
G --> V3
subgraph CI["CI Supply-Chain Hardening"]
CI1["SHA-pin 69 action uses\nacross 10 workflows"]
CI2["Pin bun-version 1.3.13"]
CI3["bun audit step\nnon-blocking"]
CI4["CODEOWNERS for manifests"]
CI5["minimumReleaseAge 3d to 7d"]
end
%%{init: {'theme': 'base', 'themeVariables': {"darkMode": true, "background": "#0d1117", "primaryColor": "#21262d", "primaryTextColor": "#e6edf3", "primaryBorderColor": "#8b949e", "lineColor": "#8b949e", "textColor": "#e6edf3", "edgeLabelBackground": "#161b22", "actorBkg": "#21262d", "actorBorder": "#8b949e", "actorTextColor": "#e6edf3", "actorLineColor": "#8b949e", "signalColor": "#8b949e", "signalTextColor": "#e6edf3", "noteBkgColor": "#373320", "noteBorderColor": "#d4a72c", "noteTextColor": "#f0e6c0", "labelBoxBkgColor": "#21262d", "labelBoxBorderColor": "#8b949e", "labelTextColor": "#e6edf3", "loopTextColor": "#e6edf3", "activationBkgColor": "#30363d", "activationBorderColor": "#8b949e"}}}%%
flowchart TD
subgraph Removed["Removed Dependencies"]
A[react-window]
B[jwt-decode]
C[better-auth-harmony]
D[papaparse and unified]
E[6x Radix primitives]
end
subgraph Consolidated["Consolidated Into Existing Deps"]
G["@tanstack/react-virtual\nalready present"]
H["jose decodeJwt\nalready present"]
end
A -->|migrated to| G
B -->|replaced by| H
subgraph Virt["Virtualized Components"]
V1["terminal.tsx\nfixed-height rows"]
V2["structured-output.tsx\nfixed-height rows"]
V3["code.tsx\ndynamic wrap-mode heights\nvia measureElement"]
end
G --> V1
G --> V2
G --> V3
subgraph CI["CI Supply-Chain Hardening"]
CI1["SHA-pin 69 action uses\nacross 10 workflows"]
CI2["Pin bun-version 1.3.13"]
CI3["bun audit step\nnon-blocking"]
CI4["CODEOWNERS for manifests"]
CI5["minimumReleaseAge 3d to 7d"]
end
Reviews (2): Last reviewed commit: "feat(search-modal): add Secrets to the p..." | Re-trigger Greptile |
|
@greptile review |
|
@cursor review |
There was a problem hiding this comment.
✅ Bugbot reviewed your changes and found no new issues!
Comment @cursor review or bugbot run to trigger another review on this PR
Reviewed by Cursor Bugbot for commit 8f7b3b5. Configure here.
Summary
Two related efforts to reduce dependency surface and strengthen the CI supply chain. No runtime behavior change for end users; one signup-validation plugin is removed (details below).
Dependency cleanup
apps/+packages/):papaparse,unified,@tanstack/react-query-devtools, and six unused Radix primitives (react-alert-dialog,react-radio-group,react-scroll-area,react-separator,react-toggle,react-visually-hidden).jwt-decode→jose—josewas already a dependency and exposesdecodeJwt, so the two ID-token decode sites now use it. Removes one library.react-window→@tanstack/react-virtual— the app already used@tanstack/react-virtualelsewhere; this drops the second, redundant virtualization library. Behavior preserved (overscan, scroll-to-index, dynamic measurement) across the terminal, structured-output, and code viewer.better-auth-harmonyand its gating env flag (SIGNUP_EMAIL_VALIDATION_ENABLED/isSignupEmailValidationEnabled), including the Helm value and test mock.Supply-chain hardening
# vXversion comment (69uses:lines across 10 workflows). Each SHA was resolved from the action's tag via the GitHub API.bun-versionto1.3.13(the release job usedlatest).minimumReleaseAgecooldown from 3 → 7 days inbunfig.toml.bun auditstep intest-build.yml(informational until the existing advisory backlog is triaged, then it can become a required gate).package.json, lockfile,bunfig.toml,.npmrc) to@simstudioai/deps.Validation
bun install --frozen-lockfileconsistent;apps/simtypecheck has no source errors.