Skip to content

chore(deps): remove unused effect dependency#513

Merged
joryirving merged 2 commits into
mainfrom
chore/drop-effect-dep
Jul 1, 2026
Merged

chore(deps): remove unused effect dependency#513
joryirving merged 2 commits into
mainfrom
chore/drop-effect-dep

Conversation

@joryirving

Copy link
Copy Markdown
Contributor

Summary

  • Remove effect from dependencies — it was declared directly but imported nowhere in src/ (from "effect" matches nothing).

Notes

  • effect remains available transitively via prisma@prisma/config@7.8.0 (nested under node_modules/@prisma/config/), so Prisma is unaffected — this only drops the unused direct declaration. npm ls effect confirms the sole remaining path is through Prisma.
  • Lock diff is effect-only.

Closes #500

`effect` (Effect-TS) was in dependencies but imported nowhere in src/
(no `from "effect"`). Dead weight + supply-chain surface; drop it.

Closes #500
its-saffron[bot]

This comment was marked as outdated.

@joryirving joryirving enabled auto-merge (squash) July 1, 2026 21:27
@joryirving joryirving merged commit 9b38dc3 into main Jul 1, 2026
6 checks passed
@joryirving joryirving deleted the chore/drop-effect-dep branch July 1, 2026 21:31

@its-saffron its-saffron Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

AI Automated Review

Full PR review.

Analysis engine: MiniMax-M2.7@https://litellm.jory.dev/v1 (anthropic) — escalated (fast_low_confidence)

PR Review: PR 513 — Remove unused effect dependency

Summary

This PR removes the unused effect package (^3.20.0) from direct dependencies. The package was declared but never imported anywhere in src/, as confirmed by multiple grep patterns (from 'effect', require('effect'), import.*effect) returning zero matches in source files.

Change Analysis

What changed:

  • package.json: Removed "effect": "^3.20.0" from dependencies
  • package-lock.json: Removed the effect v3.21.4 entry and its nested sub-dependencies (@standard-schema/spec, fast-check)

Transitive dependency preserved:

  • The PR notes and lock diff confirm effect remains available transitively via prisma@prisma/config@7.8.0 (visible in node_modules/@prisma/config/node_modules/effect)
  • This is confirmed by the lock file showing @prisma/config@7.8.0 as the host platform version

Required Checks — Explicitly Addressed

✅ check for breaking API changes in updated dependencies

Status: Does not apply.
This is a dependency removal, not a version upgrade. There is no new effect version to compare APIs against. The tool harness confirmed zero imports of effect from src/, meaning no code paths depend on this package's API. Removing an unused dependency cannot introduce breaking API changes.

✅ run full test suite after upgrade

Status: Verified via CI evidence.
CI reached a terminal success state before this review began. The authoritative evidence shows:

  • Tests: completed → success
  • Build: completed → success
  • Typecheck: completed → success
  • Lint: completed → success
  • Docker Build: completed → success

The full test suite passed. No additional verification needed.

Standards Compliance

  • No commit of secrets: Clean — only package.json and package-lock.json modified
  • Error handling, API routes, validation: Not applicable — no code logic changes
  • Prisma schema: Not applicable — no database changes
  • Docker: Not applicable — base image unchanged

Linked Issue Fit

Issue PR 500 required removing the unused effect dependency (or adopting it deliberately). This PR:

  • Solves the correct problem (removes dead weight)
  • Meets the acceptance criteria exactly
  • References #500 in the PR body and closes it

Evidence Provider Findings

No evidence providers were configured for this PR. Not applicable.

Tool Harness Findings

The tool harness ran four grep rounds confirming no effect imports exist in src/:

  • from 'effect': 0 matches
  • require('effect'): 0 matches
  • import.*effect: 0 matches
  • effect (broad): Matches only in eslint.config.mjs (unrelated rule name), package-lock.json (now-removed entry), and code using effective* variable prefixes (semantically distinct)

Unknowns / Needs Verification

None. The change is minimal, well-documented, and CI-verified.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

chore(deps): remove unused effect dependency

1 participant