feat: dependency hygiene: drop unused deps in evals - #8
Open
andrei-hasna wants to merge 1 commit into
Open
Conversation
dependency hygiene: drop unused deps in evals [loop-infinity-300pr] REPO: https://github.com/hasna/evals WHAT TO CHANGE 1) UNUSED RUNTIME DEPENDENCIES. These are declared in "dependencies" but no file under src/, scripts/, bin/ or tests/ imports them — not by static import, not by require(), not by dynamic import(): - chalk Remove each one from "dependencies" and update the lockfile. Before removing any single entry, confirm it really is unreferenced: grep the whole repo including any dashboard/, tui/ or generated code, and check whether it is loaded by name at runtime (a plugin registry, a string passed to import(), a peer of a framework, or a binary invoked from a script). A package that only appears in package.json is safe to drop; anything referenced by string is not. If a listed package turns out to be used, leave it and say so in the PR body. Note: a @types/* package is used by the type-checker, not by imports — only drop a @types/* entry if the package it types is also gone, or if it ships its own types. DONE LOOKS LIKE - package.json edited for the items above and only those items. Do not bump versions of surviving dependencies, do not reformat the file, do not touch unrelated fields. - The lockfile (bun.lock) regenerated by a real `bun install`, committed alongside — not hand-edited. - The PR body lists each item, and for anything you decided NOT to change, one line saying why. VERIFY - `bun install` completes cleanly and produces no lockfile churn beyond the intended change. - `bun run build` succeeds if the repo defines that script. - `bun run typecheck` passes if the repo defines that script. - `bun test` passes — the whole suite, because a wrongly-removed dependency usually shows up only at runtime. EVIDENCE Dependency list read from GitHub HEAD on 2026-07-29 via the contents API. Unused-import analysis run against the local checkout by extracting every static import, require() and dynamic import() specifier under src/, scripts/, bin/ and tests/ and subtracting them from the declared dependency set. Packages loaded purely by runtime string lookup would not be detected — hence the confirm-before-removing step above. PROCESS: work in a branch off the default branch, one focused change, conventional commit, open a PR. Do not bundle unrelated cleanups. If the repo has a CHANGELOG, add an entry. X-Factory-Run: run_bf0d9d97d1ec X-Factory-Task: cb19e776-70c1-4488-8da3-21b31cadff39
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Objective
dependency hygiene: drop unused deps in evals [loop-infinity-300pr]
REPO: https://github.com/hasna/evals
WHAT TO CHANGE
Remove each one from "dependencies" and update the lockfile. Before removing any single entry, confirm it really is unreferenced: grep the whole repo including any dashboard/, tui/ or generated code, and check whether it is loaded by name at runtime (a plugin registry, a string passed to import(), a peer of a framework, or a binary invoked from a script). A package that only appears in package.json is safe to drop; anything referenced by string is not. If a listed package turns out to be used, leave it and say so in the PR body.
Note: a @types/* package is used by the type-checker, not by imports — only drop a @types/* entry if the package it types is also gone, or if it ships its own types.
DONE LOOKS LIKE
bun install, committed alongside — not hand-edited.VERIFY
bun installcompletes cleanly and produces no lockfile churn beyond the intended change.bun run buildsucceeds if the repo defines that script.bun run typecheckpasses if the repo defines that script.bun testpasses — the whole suite, because a wrongly-removed dependency usually shows up only at runtime.EVIDENCE
Dependency list read from GitHub HEAD on 2026-07-29 via the contents API. Unused-import analysis run against the local checkout by extracting every static import, require() and dynamic import() specifier under src/, scripts/, bin/ and tests/ and subtracting them from the declared dependency set. Packages loaded purely by runtime string lookup would not be detected — hence the confirm-before-removing step above.
PROCESS: work in a branch off the default branch, one focused change, conventional commit, open a PR. Do not bundle unrelated cleanups. If the repo has a CHANGELOG, add an entry.
Verification
Run
run_bf0d9d97d1ec· backendcodewith· taskcb19e776-70c1-4488-8da3-21b31cadff39🏭 Generated by @hasnaxyz/factory
Need help on this PR? Tag
@codesmith-botwith what you need. Autofix is disabled.