chore: remove unused dependencies across the monorepo - #289
chore: remove unused dependencies across the monorepo#289usehoplite[bot] wants to merge 2 commits into
Conversation
Audited every dependency declared in all 21 workspace manifests against actual module-specifier usage, script/CLI references, tsconfig type references, and Prisma-generated client imports. Removed 22 unused declarations: - root: g, vercel, nodemailer, @types/nodemailer - web: @hookform/resolvers, @super/claude-sdk, @super/embeddings-sdk, dot, env, pg, @types/mdx, @types/pg, tsx (+ drop dead transpilePackages) - supercode-cli client: @hookform/resolvers - supercode-cli server: @dodopayments/nextjs, @prisma/driver-adapter-utils, @openrouter/sdk, api, oas, @types/pg - superdesign: nanoid - auth: kysely Kept packages that looked unused but are genuinely referenced: @prisma/client-runtime-utils (Prisma 7 generated clients import it), eve (eve/connections), motion (motion/react), @types/express, @types/cors, @tailwindcss/postcss (postcss.config), shadcn (components.json tooling). Lockfile regenerated with the pinned bun 1.2.21 (CI uses --frozen-lockfile). Verified: bun install --frozen-lockfile passes; turbo typecheck and lint match HEAD baselines; bun test unchanged (the 4 sandbox-env-specific failures also fail on pristine HEAD). Co-authored-by: Yash Dewasthale <yashdev.yvd@gmail.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
CI status: failures are GitHub-side runner provisioning, not this PRThe three CI checks (TypeScript Check, Lint, Test) are failing, but not on code. Evidence:
What I verified locally (with the pinned
|
| Gate | Base (main) |
This PR head |
|---|---|---|
bun install --frozen-lockfile |
fails (stale apps/video workspace in lockfile) |
passes |
bun run typecheck |
fails: cortex-sdk 9 pre-existing errors | identical |
bun run lint |
fails: client 7 pre-existing eslint errors | identical |
bun test |
5 fail + 1 error | 4 fail (env-specific; SMALLEST_API_KEY set, non-TTY) |
The head branch introduces zero new failures and actually fixes the one gate that was broken at base (the frozen-lockfile install). The remaining check failures are pre-existing on main and will need to be resolved separately (cortex-sdk's ai@5 vs LanguageModelV3 provider typing, the supercode-cli client's lint debt, and env-specific tests) — they are not regressions from this PR, and cannot be fixed from repository code until the GitHub Actions runner provisioning issue is resolved.
🤖 Supercode AI ReviewSummaryThis PR performs a dependency audit across 21 workspace Walkthrough
Changes table
Findings
Risk assessmentLow — All changes are manifest-only dependency removals with no logic changes; the PR author has validated against the full CI matrix ( Test plan
Suggested PR descriptionWhat Why How tested
Automated review by Supercode · leave a 👍/👎 reaction to rate this review |
The client and server bun.lock files are not used by bun: workspace installs are governed solely by the root bun.lock (verified: bun install inside these dirs leaves them untouched). They are now stale against the audited manifests (still declaring @hookform/resolvers, @prisma/driver-adapter-utils, @types/pg) and are referenced by nothing in CI, docker, or scripts. Removing them keeps the repo's dependency state consistent with the manifests. Co-authored-by: Yash Dewasthale <yashdev.yvd@gmail.com>
|
Thanks for the review. Addressed every finding with verification — including a follow-up commit that closes the only remaining grep hit. [high]
|
CI root cause found: GitHub account is locked due to a billing issueI extracted the annotations GitHub attaches to the failed checks — the log-less ~3s failures now have an explicit reason:
Confirmed on all three jobs (TypeScript Check, Lint, Test) and on both the original run and the latest run at
This is an account-level billing lock, not a repository issue. Nothing in this PR's code can affect it — the account owner needs to resolve the GitHub billing hold (GitHub → Settings → Billing / support) for hosted Actions runners to provision again. Once the lock is lifted, re-running CI here should execute normally; the branch's local validation ( |
Summary
Audited every dependency declared in all 21 workspace
package.jsonmanifests against actual usage, and removed only entries with zero references. Evidence per removal was gathered with a module-specifier scanner (import/require/dynamic-import forms, script/CLI usage, tsconfigtypesarrays) plus manual verification of generated code and config files.Removed (22 declarations, 8 files)
package.jsong,vercel,nodemailer,@types/nodemailerapps/web@hookform/resolvers,@super/claude-sdk,@super/embeddings-sdk,dot,env,pg,@types/mdx,@types/pg,tsx(+ deadtranspilePackagesentries innext.config.ts)apps/supercode-cli/client@hookform/resolversapps/supercode-cli/server@dodopayments/nextjs,@prisma/driver-adapter-utils,@openrouter/sdk,api,oas,@types/pgapps/superdesignnanoidpackages/authkyselyKept despite looking unused (verified legitimately referenced)
@prisma/client-runtime-utils— Prisma 7's generated client (src/generated/runtime/client.d.ts/client.js) imports it directly.eve— imported viaeve/connectionssubpath in server agent code.motion— imported viamotion/reactsubpath (animate-ui components).@types/express,@types/cors— consumed implicitly bytscfor the server'sexpress/corsimports.@tailwindcss/postcss— used as object key in everypostcss.config.mjs.shadcn— dev tooling backingcomponents.json.typescript— thetscbinary used by every typecheck script (scanner only matched the literal name).Lockfile & validation
bun.lockregenerated with the project-pinnedbun@1.2.21(the sandbox default 1.3.1 caused unrelated version re-resolution churn, so the pinned version was used for CI parity). The regeneration also dropped a staleapps/videoworkspace block — that directory is not in the repo, andbun install --frozen-lockfileat HEAD already failed because of it.bun install --frozen-lockfile→ passes (CI gate).bun run typecheck→ matches HEAD baseline: web, client, superdesign, api, docs, sdk clean; server and cortex-sdk show only pre-existing errors also present on pristine HEAD.bun run lint→ matches HEAD (web 180 problems identical pre/post; other apps byte-identical).bun test→ 215 pass / 4 fail; the same 4 failures reproduce on a pristine HEAD worktree (sandbox env:SMALLEST_API_KEYset, non-TTY readline) — no regressions.