From 5abc8fffa96496fc505375d6d6da5dabbbdaa1c1 Mon Sep 17 00:00:00 2001 From: Andrei Date: Wed, 29 Jul 2026 16:15:55 +0300 Subject: [PATCH] feat: dependency hygiene: drop unused deps in evals MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 --- CHANGELOG.md | 5 +++++ package.json | 1 - 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 287eae7..79925e1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,11 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [Unreleased] + +### Removed +- Unused `chalk` runtime dependency. + ## [0.2.0] - 2026-07-27 ### Removed diff --git a/package.json b/package.json index 3965659..4ae5b19 100644 --- a/package.json +++ b/package.json @@ -68,7 +68,6 @@ "@hasna/events": "^0.1.6", "@modelcontextprotocol/sdk": "^1.29.0", "ajv": "^8.18.0", - "chalk": "^5.4.1", "commander": "^14.0.3", "openai": "^6.33.0", "zod": "^4.3.6"